diff --git a/ChangeLog b/ChangeLog index 2332c99727..7eda2e1c90 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Dec 18 16:38:51 2012 Eric Hodel + + * lib/rdoc/store.rb: Work around RDoc stores from older versions of + RDoc. + * test/rdoc/test_rdoc_store.rb: Test for above. + Tue Dec 18 16:31:20 2012 Eric Hodel * lib/rdoc/ruby_lex.rb: Return a TkHEREDOC instead of a TkSTRING when diff --git a/lib/rdoc/store.rb b/lib/rdoc/store.rb index 2a2acf4edb..4975c6af51 100644 --- a/lib/rdoc/store.rb +++ b/lib/rdoc/store.rb @@ -354,6 +354,9 @@ class RDoc::Store loaded_mod = load_class_data name file = loaded_mod.in_files.first + + return unless file # legacy data source + file.store = self mod = file.add_module RDoc::NormalModule, name diff --git a/test/rdoc/test_rdoc_store.rb b/test/rdoc/test_rdoc_store.rb index 3b4f7cf2ff..7e18693803 100644 --- a/test/rdoc/test_rdoc_store.rb +++ b/test/rdoc/test_rdoc_store.rb @@ -274,6 +274,18 @@ class TestRDocStore < XrefTestCase assert_includes @s.c_enclosure_classes, 'cObject' end + def test_find_c_enclosure_from_cache_legacy + @klass.in_files.clear + @s.save_class @klass + @s.classes_hash.clear + + assert_nil @s.find_c_enclosure 'cObject' + + @s.c_enclosure_names['cObject'] = 'Object' + + assert_nil @s.find_c_enclosure('cObject') + end + def test_find_class_named assert_equal @c1, @store.find_class_named('C1')