Sha256: cf7985dc3464761235cffe91a4b0949136f55e947c054f8fbf87edb52158daad

Contents?: true

Size: 1.31 KB

Versions: 43

Compression:

Stored size: 1.31 KB

Contents

# -*- ruby encoding: utf-8 -*-

require 'mime/types'
require 'minitest_helper'

class TestMIMETypesLazy < Minitest::Test
  def setup
    @cache_file = File.expand_path('../cache.tst', __FILE__)
    ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = 'true'
    ENV['RUBY_MIME_TYPES_CACHE'] = @cache_file
    MIME::Types::Cache.save
  end

  def teardown
    clear_cache_file
    reset_mime_types
    if File.exist? ENV['RUBY_MIME_TYPES_CACHE']
      FileUtils.rm ENV['RUBY_MIME_TYPES_CACHE']
      ENV.delete('RUBY_MIME_TYPES_CACHE')
    end
    ENV.delete('RUBY_MIME_TYPES_LAZY_LOAD')
  end

  def clear_cache_file
    FileUtils.rm @cache_file if File.exist? @cache_file
  end

  def reset_mime_types
    MIME::Types.instance_variable_set(:@__types__, nil)
    MIME::Types.send(:load_default_mime_types)
  end

  def test_lazy_load?
    assert_equal(true, MIME::Types.send(:lazy_load?))
    ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = nil
    assert_equal(nil, MIME::Types.send(:lazy_load?))
    ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = 'false'
    assert_equal(false, MIME::Types.send(:lazy_load?))
  end

  def test_lazy_loading
    MIME::Types.instance_variable_set(:@__types__, nil)
    assert_nil(MIME::Types.instance_variable_get(:@__types__))
    refute_nil(MIME::Types['text/html'].first)
    refute_nil(MIME::Types.instance_variable_get(:@__types__))
  end
end

Version data entries

43 entries across 41 versions & 11 rubygems

Version Path
mrcooper-logstash-output-azuresearch-0.2.2 vendor/jruby/2.5.0/gems/mime-types-2.99.3/test/test_mime_types_lazy.rb
tdiary-5.0.8 vendor/bundle/gems/tdiary-5.0.7/vendor/bundle/gems/mime-types-2.99.3/test/test_mime_types_lazy.rb
tdiary-5.0.7 vendor/bundle/gems/mime-types-2.99.3/test/test_mime_types_lazy.rb
tdiary-5.0.6 vendor/bundle/gems/mime-types-2.99.3/test/test_mime_types_lazy.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/mime-types-2.99.3/test/test_mime_types_lazy.rb
tdiary-5.0.5 vendor/bundle/gems/mime-types-2.99.3/test/test_mime_types_lazy.rb
tdiary-5.0.4 vendor/bundle/gems/mime-types-2.99.3/test/test_mime_types_lazy.rb
vagrant-unbundled-1.9.1.1 vendor/bundle/ruby/2.4.0/gems/mime-types-2.99.3/test/test_mime_types_lazy.rb
tdiary-5.0.2 vendor/bundle/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
vagrant-compose-yaml-0.1.3 vendor/bundle/ruby/2.2.0/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
vagrant-compose-yaml-0.1.2 vendor/bundle/ruby/2.2.0/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
vagrant-compose-yaml-0.1.1 vendor/bundle/ruby/2.2.0/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
vagrant-compose-yaml-0.1.0 vendor/bundle/ruby/2.2.0/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
mime-types-2.99.3 test/test_mime_types_lazy.rb
vagrant-unbundled-1.8.5.2 vendor/bundle/ruby/2.3.0/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
vagrant-unbundled-1.8.5.1 vendor/bundle/ruby/2.3.0/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
vagrant-unbundled-1.8.4.2 vendor/bundle/ruby/2.3.0/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
vagrant-unbundled-1.8.4.1 vendor/bundle/ruby/2.3.0/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
tdiary-5.0.1 vendor/bundle/gems/mime-types-2.99.2/test/test_mime_types_lazy.rb
mime-types-2.99.2 test/test_mime_types_lazy.rb