diff options
author | Burke Libbey <burke@libbey.me> | 2017-04-11 14:19:30 -0400 |
---|---|---|
committer | Austin Ziegler <austin@zieglers.ca> | 2017-04-11 14:19:30 -0400 |
commit | 372059bf2168ee922284896cf872c2aad0da8ee4 (patch) | |
tree | 36ce16c40bbcb075ac92e622a787e683e79e7bc5 | |
parent | aa499d1ea849584c7e2e63518f10289e76c00ec6 (diff) | |
download | mime-types-372059bf2168ee922284896cf872c2aad0da8ee4.tar.gz |
Add __instances__ entry when loading from cache (#126)
-rw-r--r-- | lib/mime/types/registry.rb | 5 | ||||
-rw-r--r-- | test/test_mime_types_cache.rb | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/mime/types/registry.rb b/lib/mime/types/registry.rb index 23e2649..3aa0362 100644 --- a/lib/mime/types/registry.rb +++ b/lib/mime/types/registry.rb @@ -55,8 +55,9 @@ class << MIME::Types end def load_default_mime_types(mode = load_mode) - @__types__ = MIME::Types::Cache.load - unless @__types__ + if @__types__ = MIME::Types::Cache.load + __instances__.add(@__types__) + else @__types__ = MIME::Types::Loader.load(mode) MIME::Types::Cache.save(@__types__) end diff --git a/test/test_mime_types_cache.rb b/test/test_mime_types_cache.rb index 3b5859b..daa8214 100644 --- a/test/test_mime_types_cache.rb +++ b/test/test_mime_types_cache.rb @@ -42,6 +42,15 @@ describe MIME::Types::Cache do assert_equal(nil, MIME::Types::Cache.load) end + it 'registers the data to be updated by #add_extensions' do + MIME::Types::Cache.save + reset_mime_types + assert_equal([], MIME::Types.type_for('foo.additional')) + html = MIME::Types['text/html'][0] + html.add_extensions('additional') + assert_equal([html], MIME::Types.type_for('foo.additional')) + end + it 'outputs an error when there is an invalid version' do v = MIME::Types::Data::VERSION MIME::Types::Data.send(:remove_const, :VERSION) |