Sha256: 4b784772a3013a6331c4330f2aa7ff8aee8b0933cb3e0305608f7a25b771aea6

Contents?: true

Size: 1.25 KB

Versions: 7

Compression:

Stored size: 1.25 KB

Contents

require 'spec_helper'

describe MelissaData::Env do
  before(:each) do
    @env = MelissaData::Env.new
  end

  it 'responds to []=' do
    lambda { @env['test'] = 'blah' }.should_not raise_error
  end

  it 'responds to []' do
    @env['test'] = 'blah'
    lambda { @env['test'].should == 'blah' }.should_not raise_error
  end

  context '#method_missing' do
    it 'allows access to items as methods' do
      @env['db'] = 'test'
      @env.db.should == 'test'
    end

    it 'allows access to config items as methods' do
      @env['config'] = {}
      @env['config']['db'] = 'test'
      @env.db.should == 'test'
    end
  end

  context '#respond_to?' do
    it 'returns true for items in the hash' do
      @env['test'] = 'true'
      @env.respond_to?(:test).should be_true
    end

    it 'returns false for items not in hash' do
      @env.respond_to?(:test).should be_false
    end

    it 'returns true for items in the config hash' do
      @env['config'] = {'test' => true}
      @env.respond_to?(:test).should be_true
    end

    it 'returns false for items not in the config hash' do
      @env['config'] = {}
      @env.respond_to?(:test).should be_false
    end

    it 'delegates if not found' do
      @env.respond_to?(:[]).should be_true
    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
melissadata-0.1.5 spec/melissadata/env_spec.rb
melissadata-0.1.4 spec/melissadata/env_spec.rb
melissadata-0.1.3 spec/melissadata/env_spec.rb
melissadata-0.1.2 spec/melissadata/env_spec.rb
melissadata-0.1.1 spec/melissadata/env_spec.rb
melissadata-0.1.0 spec/melissadata/env_spec.rb
melissadata-0.0.1 spec/melissadata/env_spec.rb