Sha256: aa53708f554c77f941840609c7d49609095a7b68f755b74663c11e04b7cf3e86

Contents?: true

Size: 1.19 KB

Versions: 14

Compression:

Stored size: 1.19 KB

Contents

require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")

describe HashWithIndifferentAccess do
  it "should not update constructor when not a hash" do
    HashWithIndifferentAccess.should_receive(:update).never
    HashWithIndifferentAccess.new('test')
  end
  
  it "should get the default for key" do
    h = HashWithIndifferentAccess.new(:test => 'me')
    h.should_receive(:super).never
    
    h.default(:test).should == 'me'
  end
  
  context "a hash with a test value applied" do
    
    setup do
      @h = HashWithIndifferentAccess.new
      @h[:test] = 'me'
    end
    
    it "should assign a new value" do
      @h[:test].should == 'me'
    end
    
    it "should return true if asked for existing key" do
      @h.key?(:test).should be_true
    end
  
    it "should return array of values for keys" do
      @h.values_at(:test).should == ['me']
    end
    
    it "should merge with another hash" do
      another = HashWithIndifferentAccess.new(:value => 'test')
      @h.merge(another).values_at(:test, :value).should == ['me','test']
    end
  
    it "should delete the key" do
      @h.delete(:test)
      @h.any?.should be_false
      @h[:test].should be_nil
    end
    
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
adva-0.3.2 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.3.1 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.3.0 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.2.4 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.2.3 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.2.2 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.2.1 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.2.0 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.1.4 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.1.3 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.1.2 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.1.1 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.1.0 test/webrat/spec/private/merb/indifferent_access_spec.rb
adva-0.0.1 test/webrat/spec/private/merb/indifferent_access_spec.rb