summaryrefslogtreecommitdiff
path: root/test/rdoc/test_rdoc_context.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rdoc/test_rdoc_context.rb')
-rw-r--r--test/rdoc/test_rdoc_context.rb971
1 files changed, 0 insertions, 971 deletions
diff --git a/test/rdoc/test_rdoc_context.rb b/test/rdoc/test_rdoc_context.rb
deleted file mode 100644
index c4de04e083..0000000000
--- a/test/rdoc/test_rdoc_context.rb
+++ /dev/null
@@ -1,971 +0,0 @@
-# frozen_string_literal: true
-require_relative 'xref_test_case'
-
-class TestRDocContext < XrefTestCase
-
- def setup
- super
-
- @context = RDoc::Context.new
- @context.store = @store
- end
-
- def test_initialize
- assert_empty @context.in_files
- assert_equal 'unknown', @context.name
- assert_equal '', @context.comment
- assert_nil @context.parent
- assert_equal :public, @context.visibility
- assert_equal 1, @context.sections.length
- assert_nil @context.temporary_section
-
- assert_empty @context.classes_hash
- assert_empty @context.modules_hash
-
- assert_empty @context.method_list
- assert_empty @context.attributes
- assert_empty @context.aliases
- assert_empty @context.requires
- assert_empty @context.includes
- assert_empty @context.constants
- end
-
- def test_add_alias
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
-
- @context.add_alias as
-
- assert_equal [as], @context.external_aliases
- assert_equal [as], @context.unmatched_alias_lists['#old_name']
- end
-
- def test_add
- @context.add RDoc::Extend, 'Ext', 'comment'
- @context.add RDoc::Include, 'Incl', 'comment'
-
- refute_empty @context.extends
- refute_empty @context.includes
- end
-
- def test_add_alias_method_attr
- top_level = @store.add_file 'file.rb'
-
- attr = RDoc::Attr.new nil, 'old_name', 'R', ''
-
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
- as.record_location top_level
- as.parent = @context
-
- @context.add_attribute attr
- @context.add_alias as
-
- assert_empty @context.aliases
- assert_empty @context.unmatched_alias_lists
- assert_equal %w[old_name new_name], @context.attributes.map { |m| m.name }
-
- new = @context.attributes.last
- assert_equal top_level, new.file
- end
-
- def test_add_alias_method
- top_level = @store.add_file 'file.rb'
-
- meth = RDoc::AnyMethod.new nil, 'old_name'
- meth.singleton = false
-
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
- as.record_location top_level
- as.parent = @context
-
- @context.add_method meth
- @context.add_alias as
-
- assert_empty @context.aliases
- assert_empty @context.unmatched_alias_lists
- assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
-
- new = @context.method_list.last
- assert_equal top_level, new.file
- end
-
- def test_add_alias_method_singleton
- meth = RDoc::AnyMethod.new nil, 'old_name'
- meth.singleton = true
-
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
- as.singleton = true
-
- as.parent = @context
-
- @context.add_method meth
- @context.add_alias as
-
- assert_empty @context.aliases
- assert_empty @context.unmatched_alias_lists
- assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
-
- assert @context.method_list.last.singleton
- end
-
- def test_add_class
- @c1.add_class RDoc::NormalClass, 'Klass', 'Object'
-
- assert_includes @c1.classes.map { |k| k.full_name }, 'C1::Klass'
- assert_includes @store.all_classes.map { |k| k.full_name }, 'C1::Klass'
- end
-
- def test_add_class_basic_object
- @xref_data.add_class RDoc::NormalClass, 'BasicObject'
-
- basic = @xref_data.find_module_named 'BasicObject'
-
- assert_nil basic.superclass
-
- @c1.add_class RDoc::NormalClass, 'BasicObject'
-
- basic = @c1.find_module_named 'BasicObject'
-
- assert_equal @object, basic.superclass
- end
-
- def test_add_class_object
- @xref_data.add_class RDoc::NormalClass, 'Object'
-
- object = @xref_data.find_module_named 'Object'
-
- assert_equal 'BasicObject', object.superclass
-
- @c1.add_class RDoc::NormalClass, 'Object'
-
- object = @c1.find_module_named 'Object'
-
- assert_equal 'Object', object.superclass.full_name
- end
-
- def test_add_class_singleton
- @c1.add_class RDoc::NormalClass, 'Klass', 'Object'
-
- assert_includes @c1.classes.map { |k| k.full_name }, 'C1::Klass'
- assert_includes @store.all_classes.map { |k| k.full_name }, 'C1::Klass'
- end
-
- def test_add_class_superclass
- @c1.add_class RDoc::NormalClass, 'Klass', 'Object'
- @c1.add_class RDoc::NormalClass, 'Klass', 'Other'
- @c1.add_class RDoc::NormalClass, 'Klass', 'Object'
-
- klass = @c1.find_module_named 'Klass'
- assert_equal 'Other', klass.superclass
- end
-
- def test_add_class_upgrade
- @c1.add_module RDoc::NormalModule, 'Klass'
- @c1.add_class RDoc::NormalClass, 'Klass', nil
-
- assert_includes @c1.classes.map { |k| k.full_name }, 'C1::Klass',
- 'c1 classes'
- refute_includes @c1.modules.map { |k| k.full_name }, 'C1::Klass',
- 'c1 modules'
-
- assert_includes @store.all_classes.map { |k| k.full_name }, 'C1::Klass',
- 'TopLevel classes'
- refute_includes @store.all_modules.map { |k| k.full_name }, 'C1::Klass',
- 'TopLevel modules'
- end
-
- def test_add_constant
- const = RDoc::Constant.new 'NAME', 'value', 'comment'
- @context.add_constant const
-
- assert_equal [const], @context.constants
- end
-
- def test_add_extend
- ext = RDoc::Extend.new 'Name', 'comment'
- @context.add_extend ext
-
- assert_equal [ext], @context.extends
- end
-
- def test_add_include
- incl = RDoc::Include.new 'Name', 'comment'
- @context.add_include incl
-
- assert_equal [incl], @context.includes
- end
-
- def test_add_method
- meth = RDoc::AnyMethod.new nil, 'old_name'
- meth.visibility = nil
-
- @context.add_method meth
-
- assert_equal [meth], @context.method_list
- assert_equal :public, meth.visibility
- end
-
- def test_add_method_alias
- as = RDoc::Alias.new nil, 'old_name', 'new_name', 'comment'
- meth = RDoc::AnyMethod.new nil, 'old_name'
-
- @context.add_alias as
- refute_empty @context.external_aliases
-
- @context.add_method meth
-
- assert_empty @context.external_aliases
- assert_empty @context.unmatched_alias_lists
- assert_equal %w[old_name new_name], @context.method_list.map { |m| m.name }
- end
-
- def test_add_method_duplicate
- @store.rdoc.options.verbosity = 2
-
- meth1 = RDoc::AnyMethod.new nil, 'name'
- meth1.record_location @store.add_file 'first.rb'
- meth1.visibility = nil
- meth1.comment = comment 'first'
-
- @context.add_method meth1
-
- meth2 = RDoc::AnyMethod.new nil, 'name'
- meth2.record_location @store.add_file 'second.rb'
- meth2.comment = comment 'second'
-
- _, err = verbose_capture_output do
- @context.add_method meth2
- end
-
- expected = 'Duplicate method (unknown)#name in file second.rb, ' \
- 'previously in file first.rb'
-
- assert_equal expected, err.chomp
-
- method = @context.method_list.first
-
- assert_equal 'first', method.comment.text
- end
-
- def test_add_method_duplicate_loading
- @context.store = nil
-
- meth1 = RDoc::AnyMethod.new nil, 'name'
- meth1.record_location @store.add_file 'first.rb'
- meth1.visibility = nil
- meth1.comment = comment 'first'
-
- @context.add_method meth1
-
- meth2 = RDoc::AnyMethod.new nil, 'name'
- meth2.record_location @store.add_file 'second.rb'
- meth2.comment = comment 'second'
-
- _, err = verbose_capture_output do
- @context.add_method meth2
- end
-
- assert_empty err
-
- method = @context.method_list.first
-
- assert_equal 'first', method.comment.text
- end
-
- def test_add_module
- @c1.add_module RDoc::NormalModule, 'Mod'
-
- assert_includes @c1.modules.map { |m| m.full_name }, 'C1::Mod'
- end
-
- def test_add_module_alias
- tl = @store.add_file 'file.rb'
-
- c4 = RDoc::Constant.new 'C4', '', ''
- c3_c4 = @c2.add_module_alias @c2_c3, @c2_c3.name, c4, tl
-
- alias_constant = @c2.constants.first
-
- assert_equal 'C2::C4', c3_c4.full_name
- assert_equal tl, alias_constant.file
- end
-
- def test_add_module_alias_top_level
- store = RDoc::Store.new
-
- top_level = store.add_file 'file.rb'
-
- klass = top_level.add_class RDoc::NormalClass, 'Klass'
- klass.comment = 'klass comment'
-
- object = top_level.add_class RDoc::NormalClass, 'Object'
-
- a = RDoc::Constant.new 'A', '', ''
- top_level.add_module_alias klass, klass.name, a, top_level
-
- refute_empty object.constants
-
- constant = object.constants.first
-
- assert_equal 'klass comment', constant.comment
- end
-
- def test_add_module_class
- k = @c1.add_class RDoc::NormalClass, 'Klass', nil
- m = @c1.add_module RDoc::NormalModule, 'Klass'
-
- assert_equal k, m, 'returns class'
- assert_empty @c1.modules
- end
-
- def test_add_require
- req = RDoc::Require.new 'require', 'comment'
- @c1.add_require req
-
- assert_empty @c1.requires
- assert_includes @c1.top_level.requires, req
- end
-
- def test_add_section
- default_section = @context.sections.first
-
- @context.add_section nil, comment('comment', @top_level)
-
- assert_equal 1, @context.sections.length
- assert_equal [comment("comment", @top_level)],
- @context.sections.first.comments
-
- @context.add_section nil, comment('new comment', @top_level)
-
- assert_equal 1, @context.sections.length
- assert_equal [comment('comment', @top_level),
- comment('new comment', @top_level)],
- @context.sections.first.comments
-
- @context.add_section 'other', comment('', @top_level)
-
- assert_equal 2, @context.sections.length
-
- new_section = @context.sections.find { |section| section.title == 'other' }
- assert new_section
- assert_equal default_section, @context.current_section
- end
-
- def test_add_section_no_comment
- default_section = @context.sections.first
-
- @context.add_section nil
-
- assert_equal 1, @context.sections.length
-
- @context.add_section 'other'
-
- assert_equal 2, @context.sections.length
-
- new_section = @context.sections.find { |section| section.title == 'other' }
-
- assert new_section
- assert_equal default_section, @context.current_section
- end
-
- def test_add_to
- incl = RDoc::Include.new 'Name', 'comment'
- arr = []
- @context.add_to arr, incl
-
- assert_includes arr, incl
- assert_equal @context, incl.parent
- assert_equal @context.current_section, incl.section
- end
-
- def test_add_to_temporary_section
- incl = RDoc::Include.new 'Name', 'comment'
- arr = []
- section =
- @context.add_section 'temporary', RDoc::Comment.new('', @top_level)
- @context.temporary_section = section
-
- @context.add_to arr, incl
-
- assert_includes arr, incl
- assert_equal @context, incl.parent
- assert_equal section, incl.section
- end
-
- def test_add_to_no_document_self
- incl = RDoc::Include.new 'Name', 'comment'
- arr = []
- @context.document_self = false
- @context.add_to arr, incl
-
- refute_includes arr, incl
- end
-
- def test_add_to_done_documenting
- incl = RDoc::Include.new 'Name', 'comment'
- arr = []
- @context.done_documenting = true
- @context.add_to arr, incl
-
- refute_includes arr, incl
- end
-
- def bench_add_include
- cm = RDoc::ClassModule.new 'Klass'
-
- assert_performance_linear 0.5 do |count|
- count.times do |i|
- cm.add_include RDoc::Include.new("N::M#{i}", nil)
- end
- end
- end
-
- def test_child_name
- assert_equal 'C1::C1', @c1.child_name('C1')
- end
-
- def test_classes
- assert_equal %w[C2::C3], @c2.classes.map { |k| k.full_name }
- assert_equal %w[C3::H1 C3::H2], @c3.classes.map { |k| k.full_name }.sort
- end
-
- def test_current_section
- default_section = @context.current_section
-
- new_section =
- @context.add_section 'other', RDoc::Comment.new('', @top_level)
- @context.temporary_section = new_section
-
- assert_equal new_section, @context.current_section
- assert_equal default_section, @context.current_section
- end
-
- def test_defined_in_eh
- assert @c1.defined_in?(@c1.top_level)
-
- refute @c1.defined_in?(@store.add_file('name.rb'))
- end
-
- def test_equals2
- assert_equal @c3, @c3
- refute_equal @c2, @c3
- refute_equal @c2_c3, @c3
- end
-
- def test_each_method_enumerator
- assert_kind_of Enumerator, @c1.each_method
- end
-
- def test_each_section
- sects = []
- consts = []
- attrs = []
-
- @c1.each_section do |section, constants, attributes|
- sects << section
- consts << constants
- attrs << attributes
- end
-
- assert_equal [nil, 'separate'], sects.map { |section| section.title }
-
- expected_consts = [
- [@c1.constants.first],
- [],
- ]
-
- assert_equal expected_consts, consts
-
- expected_attrs = [
- [@c1.attributes[0], @c1.attributes[3]],
- [@c1.attributes[1], @c1.attributes[2]],
- ]
-
- assert_equal expected_attrs, attrs
- end
-
- def test_each_section_only_display
- sects = []
- consts = []
- attrs = []
-
- @c7.each_section do |section, constants, attributes|
- sects << section
- consts << constants
- attrs << attributes
- end
-
- assert_equal [nil], sects.map { |section| section.title }
-
- expected_consts = [
- @c7.constants.select(&:display?).sort
- ]
-
- assert_equal expected_consts, consts
-
- expected_attrs = [
- @c7.attributes.select(&:display?).sort
- ]
-
- assert_equal expected_attrs, attrs
- end
-
- def test_each_section_enumerator
- assert_kind_of Enumerator, @c1.each_section
- end
-
- def test_find_attribute_named
- assert_nil @c1.find_attribute_named('none')
- assert_equal 'R', @c1.find_attribute_named('attr').rw
- assert_equal 'R', @c1.find_attribute_named('attr_reader').rw
- assert_equal 'W', @c1.find_attribute_named('attr_writer').rw
- assert_equal 'RW', @c1.find_attribute_named('attr_accessor').rw
- end
-
- def test_find_class_method_named
- assert_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_nil @c1.find_constant_named('NONE')
- assert_equal ':const', @c1.find_constant_named('CONST').value
- end
-
- def test_find_enclosing_module_named
- assert_nil @c2_c3.find_enclosing_module_named('NONE')
- assert_equal @c1, @c2_c3.find_enclosing_module_named('C1')
- assert_equal @c2, @c2_c3.find_enclosing_module_named('C2')
- end
-
- def test_find_file_named
- assert_nil @c1.find_file_named('nonexistent.rb')
- assert_equal @xref_data, @c1.find_file_named(@file_name)
- end
-
- def test_find_instance_method_named
- assert_nil @c1.find_instance_method_named('none')
-
- m = @c1.find_instance_method_named('m')
- assert_instance_of RDoc::AnyMethod, m
- refute m.singleton
- end
-
- def test_find_local_symbol
- assert_equal true, @c1.find_local_symbol('m').singleton
- assert_equal ':const', @c1.find_local_symbol('CONST').value
- assert_equal 'R', @c1.find_local_symbol('attr').rw
- assert_equal @xref_data, @c1.find_local_symbol(@file_name)
- assert_equal @c2_c3, @c2.find_local_symbol('C3')
- end
-
- def test_find_method
- loaded_c2 = Marshal.load Marshal.dump @c2
- assert_equal @c2_a, loaded_c2.find_method('a', false)
- assert_equal @c2_b, loaded_c2.find_method('b', false)
- assert_equal @c2_a, loaded_c2.find_method('a', nil)
- assert_equal @c2_b, loaded_c2.find_method('b', nil)
- end
-
- def test_find_method_named
- assert_equal true, @c1.find_method_named('m').singleton
- end
-
- def test_find_module_named
- assert_equal @c2_c3, @c2.find_module_named('C3')
- assert_equal @c2, @c2.find_module_named('C2')
- assert_equal @c1, @c2.find_module_named('C1')
-
- assert_equal 'C2::C3', @c2.find_module_named('C3').full_name
- end
-
- def test_find_symbol
- c3 = @xref_data.find_module_named('C3')
- assert_equal c3, @xref_data.find_symbol('C3')
- assert_equal c3, @c2.find_symbol('::C3')
- 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_find_symbol_module
- assert_nil @m1_m2.find_symbol_module 'N'
- assert_nil @m1_m2.find_symbol_module 'M2::M1'
-
- @m1_m2.parent = nil # loaded from legacy ri store
-
- assert_nil @m1_m2.find_symbol_module 'N'
- assert_nil @m1_m2.find_symbol_module 'M2::M1'
- end
-
- def test_fully_documented_eh
- context = RDoc::Context.new
-
- refute context.fully_documented?
-
- context.comment = 'hi'
-
- assert context.fully_documented?
-
- m = @c1_m
-
- context.add_method m
-
- refute context.fully_documented?
-
- m.comment = 'hi'
-
- assert context.fully_documented?
-
- c = RDoc::Constant.new 'C', '0', nil
-
- context.add_constant c
-
- refute context.fully_documented?
-
- c.comment = 'hi'
-
- assert context.fully_documented?
-
- a = RDoc::Attr.new '', 'a', 'RW', nil
-
- context.add_attribute a
-
- refute context.fully_documented?
-
- a.comment = 'hi'
-
- assert context.fully_documented?
- end
-
- def test_spaceship
- assert_equal(-1, @c2.<=>(@c3))
- assert_equal 0, @c2.<=>(@c2)
- assert_equal 1, @c3.<=>(@c2)
-
- assert_equal 1, @c2_c3.<=>(@c2)
- assert_equal(-1, @c2_c3.<=>(@c3))
-
- assert_nil @c2.<=>(Gem.loaded_specs.values.first)
- end
-
- def test_methods_by_type
- expected = {
- 'instance' => {
- :private => [],
- :protected => [],
- :public => [@c1_plus, @c1_m],
- },
- 'class' => {
- :private => [],
- :protected => [],
- :public => [@c1__m],
- },
- }
-
- assert_equal expected, @c1.methods_by_type
- end
-
- def test_methods_by_type_section
- separate = @c1.sections_hash['separate']
- @c1_m.section = separate
-
- expected = {
- 'instance' => {
- :private => [],
- :protected => [],
- :public => [@c1_m],
- },
- 'class' => {
- :private => [],
- :protected => [],
- :public => [],
- },
- }
-
- assert_equal expected, @c1.methods_by_type(separate)
- end
-
- def test_methods_matching
- methods = []
-
- @parent.methods_matching 'm' do |m|
- methods << m
- end
-
- assert_equal [@parent_m], methods
- end
-
- def test_methods_matching_singleton
- methods = []
-
- @parent.methods_matching 'm', true do |m|
- methods << m
- end
-
- assert_equal [@parent__m], methods
- end
-
- def test_methods_matching_inherit
- methods = []
-
- @child.methods_matching 'm' do |m|
- methods << m
- end
-
- assert_equal [@parent_m], methods
- end
-
- def test_remove_invisible_private
- util_visibilities
-
- @vis.remove_invisible :private
-
- assert_equal [@pub, @prot, @priv], @vis.method_list
- assert_equal [@apub, @aprot, @apriv], @vis.attributes
- assert_equal [@cpub, @cpriv], @vis.constants
- end
-
- def test_remove_invisible_nodoc
- util_visibilities
-
- @vis.remove_invisible :nodoc
-
- assert_equal [@pub, @prot, @priv], @vis.method_list
- assert_equal [@apub, @aprot, @apriv], @vis.attributes
- assert_equal [@cpub, @cpriv], @vis.constants
- end
-
- def test_remove_invisible_protected
- util_visibilities
-
- @vis.remove_invisible :protected
-
- assert_equal [@pub, @prot], @vis.method_list
- assert_equal [@apub, @aprot], @vis.attributes
- assert_equal [@cpub], @vis.constants
- end
-
- def test_remove_invisible_public
- util_visibilities
-
- @vis.remove_invisible :public
-
- assert_equal [@pub], @vis.method_list
- assert_equal [@apub], @vis.attributes
- assert_equal [@cpub], @vis.constants
- end
-
- def test_remove_invisible_public_force
- util_visibilities
-
- @priv.force_documentation = true
- @prot.force_documentation = true
- @apriv.force_documentation = true
- @aprot.force_documentation = true
- @cpriv.force_documentation = true
-
- @vis.remove_invisible :public
-
- assert_equal [@pub, @prot, @priv], @vis.method_list
- assert_equal [@apub, @aprot, @apriv], @vis.attributes
- assert_equal [@cpub, @cpriv], @vis.constants
- end
-
- def test_remove_invisible_in_protected
- util_visibilities
-
- methods = [@pub, @prot, @priv]
-
- @c1.remove_invisible_in methods, :protected
-
- assert_equal [@pub, @prot], methods
- end
-
- def test_remove_invisible_in_protected_force
- util_visibilities
-
- @priv.force_documentation = true
-
- methods = [@pub, @prot, @priv]
-
- @c1.remove_invisible_in methods, :protected
-
- assert_equal [@pub, @prot, @priv], methods
- end
-
- def test_remove_invisible_in_public
- util_visibilities
-
- methods = [@pub, @prot, @priv]
-
- @c1.remove_invisible_in methods, :public
-
- assert_equal [@pub], methods
- end
-
- def test_remove_invisible_in_public_force
- util_visibilities
-
- @prot.force_documentation = true
- @priv.force_documentation = true
-
- methods = [@pub, @prot, @priv]
-
- @c1.remove_invisible_in methods, :public
-
- assert_equal [@pub, @prot, @priv], methods
- end
-
- def test_section_contents
- default = @context.sections.first
- @context.add_method RDoc::AnyMethod.new(nil, 'm1')
-
- b = @context.add_section 'B'
- m = @context.add_method RDoc::AnyMethod.new(nil, 'm2')
- m.section = b
-
- assert_equal [default, b], @context.section_contents
- end
-
- def test_section_contents_no_default
- @context = RDoc::Context.new
- b = @context.add_section 'B'
- m = @context.add_method RDoc::AnyMethod.new(nil, 'm')
- m.section = b
-
- assert_equal [b], @context.section_contents
- end
-
- def test_section_contents_only_default
- @context = RDoc::Context.new
-
- @context.add_method RDoc::AnyMethod.new(nil, 'm')
-
- assert_empty @context.section_contents
- end
-
- def test_section_contents_unused
- @context = RDoc::Context.new
-
- @context.add_method RDoc::AnyMethod.new(nil, 'm')
- @context.add_section 'B'
-
- assert_empty @context.section_contents
- end
-
- def test_set_current_section
- default_section = @context.sections.first
-
- @context.set_current_section nil, RDoc::Comment.new('', @top_level)
-
- assert_equal default_section, @context.current_section
-
- @context.set_current_section 'other', RDoc::Comment.new('', @top_level)
-
- new_section = @context.sections.find { |section|
- section != default_section
- }
-
- assert_equal new_section, @context.current_section
- end
-
- def test_sort_sections
- c = RDoc::Context.new
- c.add_section 'C'
- c.add_section 'A'
- c.add_section 'B'
-
- titles = c.sort_sections.map { |section| section.title }
-
- assert_equal [nil, 'A', 'B', 'C'], titles
- end
-
- def test_sort_sections_tomdoc
- c = RDoc::Context.new
- c.add_section 'Public'
- c.add_section 'Internal'
- c.add_section 'Deprecated'
-
- titles = c.sort_sections.map { |section| section.title }
-
- assert_equal [nil, 'Public', 'Internal', 'Deprecated'], titles
- end
-
- def test_sort_sections_tomdoc_missing
- c = RDoc::Context.new
- c.add_section 'Internal'
- c.add_section 'Public'
-
- titles = c.sort_sections.map { |section| section.title }
-
- assert_equal [nil, 'Public', 'Internal'], titles
- end
-
- def test_visibility_def
- assert_equal :private, @c6.find_method_named('priv1').visibility
- assert_equal :protected, @c6.find_method_named('prot1').visibility
- assert_equal :public, @c6.find_method_named('pub1').visibility
- assert_equal :private, @c6.find_method_named('priv2').visibility
- assert_equal :protected, @c6.find_method_named('prot2').visibility
- assert_equal :public, @c6.find_method_named('pub2').visibility
- assert_equal :private, @c6.find_method_named('priv3').visibility
- assert_equal :protected, @c6.find_method_named('prot3').visibility
- assert_equal :public, @c6.find_method_named('pub3').visibility
- assert_equal :private, @c6.find_method_named('priv4').visibility
- assert_equal :protected, @c6.find_method_named('prot4').visibility
- assert_equal :public, @c6.find_method_named('pub4').visibility
- assert_equal :private, @c6.find_method_named('priv5').visibility
- assert_equal :protected, @c6.find_method_named('prot5').visibility
- assert_equal :public, @c6.find_method_named('pub5').visibility
- assert_equal :private, @c6.find_method_named('priv6').visibility
- assert_equal :protected, @c6.find_method_named('prot6').visibility
- assert_equal :public, @c6.find_method_named('pub6').visibility
- assert_equal :public, @c6.find_method_named('s_pub1').visibility
- assert_equal :public, @c6.find_method_named('s_pub2').visibility
- assert_equal :public, @c6.find_method_named('s_pub3').visibility
- assert_equal :public, @c6.find_method_named('s_pub4').visibility
- assert_equal :private, @c6.find_method_named('s_priv1').visibility
- assert_equal :protected, @c6.find_method_named('s_prot1').visibility
- end
-
- def util_visibilities
- @pub = RDoc::AnyMethod.new nil, 'pub'
- @prot = RDoc::AnyMethod.new nil, 'prot'
- @priv = RDoc::AnyMethod.new nil, 'priv'
-
- @apub = RDoc::Attr.new nil, 'pub', 'RW', nil
- @aprot = RDoc::Attr.new nil, 'prot', 'RW', nil
- @apriv = RDoc::Attr.new nil, 'priv', 'RW', nil
-
- @cpub = RDoc::Constant.new 'CONST_PUBLIC', nil, nil
- @cpriv = RDoc::Constant.new 'CONST_PRIVATE', nil, nil
-
- @vis = RDoc::NormalClass.new 'Vis'
- @vis.add_method @pub
- @vis.add_method @prot
- @vis.add_method @priv
-
- @vis.add_attribute @apub
- @vis.add_attribute @aprot
- @vis.add_attribute @apriv
-
- @vis.add_constant @cpub
- @vis.add_constant @cpriv
-
- @prot.visibility = :protected
- @priv.visibility = :private
-
- @aprot.visibility = :protected
- @apriv.visibility = :private
-
- @cpriv.visibility = :private
- end
-
-end