зеркало из https://github.com/github/ruby.git
* lib/rdoc/generator/darkfish.rb: Fixed debug message. RDoc bug #174
by Thomas Leitner. * lib/rdoc/store.rb: Fixed deletion of ri attribute data when a class was loaded then saved. RDoc bug #171 by Thomas Leitner. * test/rdoc/test_rdoc_store.rb: Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
f1ef3d600d
Коммит
2d579c0074
|
@ -1,3 +1,12 @@
|
||||||
|
Fri Jan 25 09:14:43 2013 Eric Hodel <drbrain@segment7.net>
|
||||||
|
|
||||||
|
* lib/rdoc/generator/darkfish.rb: Fixed debug message. RDoc bug #174
|
||||||
|
by Thomas Leitner.
|
||||||
|
|
||||||
|
* lib/rdoc/store.rb: Fixed deletion of ri attribute data when a class
|
||||||
|
was loaded then saved. RDoc bug #171 by Thomas Leitner.
|
||||||
|
* test/rdoc/test_rdoc_store.rb: Test for above.
|
||||||
|
|
||||||
Thu Jan 24 19:55:25 2013 Shota Fukumori <her@sorah.jp>
|
Thu Jan 24 19:55:25 2013 Shota Fukumori <her@sorah.jp>
|
||||||
|
|
||||||
* NEWS (yaml): Write about bundled libyaml.
|
* NEWS (yaml): Write about bundled libyaml.
|
||||||
|
|
|
@ -453,7 +453,7 @@ class RDoc::Generator::Darkfish
|
||||||
template_file = @template_dir + 'servlet_not_found.rhtml'
|
template_file = @template_dir + 'servlet_not_found.rhtml'
|
||||||
return unless template_file.exist?
|
return unless template_file.exist?
|
||||||
|
|
||||||
debug_msg "Rendering the servlet root page..."
|
debug_msg "Rendering the servlet 404 Not Found page..."
|
||||||
|
|
||||||
rel_prefix = rel_prefix = ''
|
rel_prefix = rel_prefix = ''
|
||||||
search_index_rel_prefix = rel_prefix
|
search_index_rel_prefix = rel_prefix
|
||||||
|
|
|
@ -819,13 +819,13 @@ class RDoc::Store
|
||||||
@cache[:ancestors][full_name] ||= []
|
@cache[:ancestors][full_name] ||= []
|
||||||
@cache[:ancestors][full_name].concat ancestors
|
@cache[:ancestors][full_name].concat ancestors
|
||||||
|
|
||||||
attributes = klass.attributes.map do |attribute|
|
attribute_definitions = klass.attributes.map do |attribute|
|
||||||
"#{attribute.definition} #{attribute.name}"
|
"#{attribute.definition} #{attribute.name}"
|
||||||
end
|
end
|
||||||
|
|
||||||
unless attributes.empty? then
|
unless attribute_definitions.empty? then
|
||||||
@cache[:attributes][full_name] ||= []
|
@cache[:attributes][full_name] ||= []
|
||||||
@cache[:attributes][full_name].concat attributes
|
@cache[:attributes][full_name].concat attribute_definitions
|
||||||
end
|
end
|
||||||
|
|
||||||
to_delete = []
|
to_delete = []
|
||||||
|
@ -839,13 +839,15 @@ class RDoc::Store
|
||||||
|
|
||||||
class_methods = class_methods. map { |method| method.name }
|
class_methods = class_methods. map { |method| method.name }
|
||||||
instance_methods = instance_methods.map { |method| method.name }
|
instance_methods = instance_methods.map { |method| method.name }
|
||||||
|
attribute_names = klass.attributes.map { |attr| attr.name }
|
||||||
|
|
||||||
old = @cache[:class_methods][full_name] - class_methods
|
old = @cache[:class_methods][full_name] - class_methods
|
||||||
to_delete.concat old.map { |method|
|
to_delete.concat old.map { |method|
|
||||||
method_file full_name, "#{full_name}::#{method}"
|
method_file full_name, "#{full_name}::#{method}"
|
||||||
}
|
}
|
||||||
|
|
||||||
old = @cache[:instance_methods][full_name] - instance_methods
|
old = @cache[:instance_methods][full_name] -
|
||||||
|
instance_methods - attribute_names
|
||||||
to_delete.concat old.map { |method|
|
to_delete.concat old.map { |method|
|
||||||
method_file full_name, "#{full_name}##{method}"
|
method_file full_name, "#{full_name}##{method}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -778,6 +778,7 @@ class TestRDocStore < XrefTestCase
|
||||||
@s.save_method @klass, @meth
|
@s.save_method @klass, @meth
|
||||||
@s.save_method @klass, @meth_bang
|
@s.save_method @klass, @meth_bang
|
||||||
@s.save_method @klass, @cmeth
|
@s.save_method @klass, @cmeth
|
||||||
|
@s.save_method @klass, @attr
|
||||||
@s.save_cache
|
@s.save_cache
|
||||||
|
|
||||||
klass = RDoc::NormalClass.new 'Object'
|
klass = RDoc::NormalClass.new 'Object'
|
||||||
|
@ -799,11 +800,15 @@ class TestRDocStore < XrefTestCase
|
||||||
|
|
||||||
assert_cache({ 'Object' => %w[replace] }, {},
|
assert_cache({ 'Object' => %w[replace] }, {},
|
||||||
{ 'Object' => %w[attr_accessor\ attr] }, %w[Object],
|
{ 'Object' => %w[attr_accessor\ attr] }, %w[Object],
|
||||||
'Object' => OBJECT_ANCESTORS)
|
'Object' => OBJECT_ANCESTORS)
|
||||||
|
|
||||||
refute File.exist? @s.method_file(@klass.full_name, @meth.full_name)
|
# assert these files were deleted
|
||||||
refute File.exist? @s.method_file(@klass.full_name, @meth_bang.full_name)
|
refute_file @s.method_file(@klass.full_name, @meth.full_name)
|
||||||
refute File.exist? @s.method_file(@klass.full_name, @cmeth.full_name)
|
refute_file @s.method_file(@klass.full_name, @meth_bang.full_name)
|
||||||
|
refute_file @s.method_file(@klass.full_name, @cmeth.full_name)
|
||||||
|
|
||||||
|
# assert these files were not deleted
|
||||||
|
assert_file @s.method_file(@klass.full_name, @attr.full_name)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_save_class_dry_run
|
def test_save_class_dry_run
|
||||||
|
@ -815,6 +820,40 @@ class TestRDocStore < XrefTestCase
|
||||||
refute_file File.join(@tmpdir, 'Object', 'cdesc-Object.ri')
|
refute_file File.join(@tmpdir, 'Object', 'cdesc-Object.ri')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_save_class_loaded
|
||||||
|
@s.save
|
||||||
|
|
||||||
|
assert_directory File.join(@tmpdir, 'Object')
|
||||||
|
assert_file File.join(@tmpdir, 'Object', 'cdesc-Object.ri')
|
||||||
|
|
||||||
|
assert_file @s.method_file(@klass.full_name, @attr.full_name)
|
||||||
|
assert_file @s.method_file(@klass.full_name, @cmeth.full_name)
|
||||||
|
assert_file @s.method_file(@klass.full_name, @meth.full_name)
|
||||||
|
assert_file @s.method_file(@klass.full_name, @meth_bang.full_name)
|
||||||
|
|
||||||
|
s = RDoc::Store.new @s.path
|
||||||
|
s.load_cache
|
||||||
|
|
||||||
|
loaded = s.load_class 'Object'
|
||||||
|
|
||||||
|
assert_equal @klass, loaded
|
||||||
|
|
||||||
|
s.save_class loaded
|
||||||
|
|
||||||
|
s = RDoc::Store.new @s.path
|
||||||
|
s.load_cache
|
||||||
|
|
||||||
|
reloaded = s.load_class 'Object'
|
||||||
|
|
||||||
|
assert_equal @klass, reloaded
|
||||||
|
|
||||||
|
# assert these files were not deleted. Bug #171
|
||||||
|
assert_file s.method_file(@klass.full_name, @attr.full_name)
|
||||||
|
assert_file s.method_file(@klass.full_name, @cmeth.full_name)
|
||||||
|
assert_file s.method_file(@klass.full_name, @meth.full_name)
|
||||||
|
assert_file s.method_file(@klass.full_name, @meth_bang.full_name)
|
||||||
|
end
|
||||||
|
|
||||||
def test_save_class_merge
|
def test_save_class_merge
|
||||||
@s.save_class @klass
|
@s.save_class @klass
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче