Sha256: f81038c0c235d007435073b76ef57036aa997047fd660875f96429ad80249c3c

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 KB

Contents

require 'spec_helper'
require 'cantango/registry/shared/hash_ex'

class MyEngine < CanTango::Engine
end

class MyOtherEngine < CanTango::Engine
end


describe CanTango::Config::Engines do
  subject { CanTango.config.engines }

  it_should_behave_like "Hash Registry" do
    let(:hash1) do
      {:my_engine => MyEngine}
    end

    let(:hash2) do
      {:my_other_engine => MyOtherEngine}
    end
  end
  
  specify do 
    lambda { subject.register :my_engine => 3 }.should raise_error
  end
  
  specify do
    lambda { subject.register :my_engine => MyEngine }.should_not raise_error
  end
  
  describe '#registered' do
    before do
      subject.register :my_engine => MyEngine
    end
    
    specify { subject.registered[:my_engine].should == MyEngine }
    specify { subject.registered_names.should include('my_engine') }
    specify { subject.available.should include('my_engine') }    
    specify { subject.available?('my_engine').should be_true }
    specify { subject.available?('not_my_engine').should be_false }
  end

  let(:engines) do
    {:my_engine => MyEngine}.merge :my_other_engine => MyOtherEngine
  end

  before do
    subject.register engines
  end

  
  # all state
  # any? state
  # clear!
  # each
  # active? name
  # active
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cantango-config-0.2.1 spec/cantango/config/engines_spec.rb
cantango-config-0.2.0 spec/cantango/config/engines_spec.rb