зеркало из https://github.com/github/ruby.git
* lib/rdoc/context.rb: Don't warn for duplicate methods while loading.
* test/rdoc/test_rdoc_context.rb: Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
80ba379c24
Коммит
854758c464
|
@ -1,3 +1,8 @@
|
|||
Thu Dec 6 15:20:34 2012 Eric Hodel <drbrain@segment7.net>
|
||||
|
||||
* lib/rdoc/context.rb: Don't warn for duplicate methods while loading.
|
||||
* test/rdoc/test_rdoc_context.rb: Test for above.
|
||||
|
||||
Thu Dec 6 14:26:22 2012 Eric Hodel <drbrain@segment7.net>
|
||||
|
||||
* lib/rubygems/command_manager.rb: Removed string concatenation
|
||||
|
|
|
@ -447,11 +447,13 @@ class RDoc::Context < RDoc::CodeObject
|
|||
known = @methods_hash[key]
|
||||
|
||||
if known then
|
||||
known.comment = method.comment if known.comment.empty?
|
||||
previously = ", previously in #{known.file}" unless
|
||||
method.file == known.file
|
||||
@store.rdoc.options.warn \
|
||||
"Duplicate method #{known.full_name} in #{method.file}#{previously}"
|
||||
if @store then # otherwise we are loading
|
||||
known.comment = method.comment if known.comment.empty?
|
||||
previously = ", previously in #{known.file}" unless
|
||||
method.file == known.file
|
||||
@store.rdoc.options.warn \
|
||||
"Duplicate method #{known.full_name} in #{method.file}#{previously}"
|
||||
end
|
||||
else
|
||||
@methods_hash[key] = method
|
||||
method.visibility = @visibility
|
||||
|
|
|
@ -244,6 +244,31 @@ class TestRDocContext < XrefTestCase
|
|||
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_io 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'
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче