Sha256: c3c7093d4fb2c3d2e6a3c33872e5912239ef1c0d87115c365ca941d1d02a8439

Contents?: true

Size: 1.55 KB

Versions: 1

Compression:

Stored size: 1.55 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/helper')

describe "Padrino::Reloader::Storage" do
  describe "#classes" do
    it 'should take an snapshot of the current loaded classes' do
      snapshot = Padrino::Reloader::Storage.send(:object_classes)
      assert_equal snapshot.include?(Padrino::Logger), true
    end

    it 'should return a Set object' do
      snapshot = Padrino::Reloader::Storage.send(:object_classes)
      assert_equal snapshot.kind_of?(Set), true
    end

    it 'should be able to process a the class name given a block' do
      klasses = Padrino::Reloader::Storage.send(:object_classes) do |klass|
        next unless klass.respond_to?(:name) # fix JRuby < 1.7.22
        if klass.name =~ /^Padrino::/
          klass
        end
      end

      assert_equal (klasses.size > 1), true
      klasses.each do |klass|
        assert_match /^Padrino::/, klass.to_s
      end
    end
  end

  describe "#new_classes" do
    before do
      @snapshot = Padrino::Reloader::Storage.send(:object_classes)
    end

    it 'should return list of new classes' do
      class OSTest; end
      module OSTestModule; class B; end; end

      new_classes = Padrino::Reloader::Storage.send(:new_classes, @snapshot)

      assert_equal new_classes.size, 2
      assert_equal new_classes.include?(OSTest), true
      assert_equal new_classes.include?(OSTestModule::B), true
    end

    it 'should return a Set object' do
      new_classes = Padrino::Reloader::Storage.send(:new_classes, @snapshot)
      assert_equal new_classes.kind_of?(Set), true
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
padrino-core-0.12.9 test/test_reloader_storage.rb