Sha256: 97e130686080f71d61b6f12358ab429965d34da382a1405fdc52a2c125f4b303

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

require 'spec_helper'

describe ElastiConf::Loader do
  subject do
    file = ElastiConf.root.join('spec', 'fixtures', 'config.yml')
    described_class[YAML.load_file(file)]
  end
  
  it 'should be inherited from Hashie::Mash' do
    subject.should be_kind_of(Hashie::Mash)
  end

  describe '#get' do
    it 'should return nil' do
      expect(subject.get('some.unexisting.key')).to be_nil
    end
    
    it 'should return some value' do
      expect(subject.get('some_config.int_key')).to eql(1)
    end

    it 'should return some value' do
      expect(subject.get('some_config.str_key')).to eql('1')
    end

    context 'when wrong argument given' do
      it 'should raise an error' do
        expect { subject.get }.to raise_error
      end
      
      it 'should raise an error' do
        expect { subject.get({}) }.to raise_error
      end

      it 'should raise an error' do
        expect { subject.get([]) }.to raise_error
      end

      it 'should raise an error' do
        expect { subject.get(false) }.to raise_error
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
elasticonf-1.1.0 spec/lib/elasticonf/loader_spec.rb