Sha256: 591dc546edeec242c52a0f05380dd206fff63690db44af637ef00462852c9c08

Contents?: true

Size: 693 Bytes

Versions: 9

Compression:

Stored size: 693 Bytes

Contents

require File.dirname(__FILE__)+'/../spec_helper'
require 'gorillib/hash/reverse_merge'

describe Hash do
  describe 'reverse_merge' do

    before do
      @defaults = { :a => "x", :b => "y", :c => 10 }.freeze
      @options  = { :a => 1, :b => 2 }
      @expected = { :a => 1, :b => 2, :c => 10 }
    end

    it 'Should merge defaults into options, creating a new hash' do
      @options.reverse_merge(@defaults).should == @expected
      @options.should_not == @expected
    end


    it 'Should merge! defaults into options, replacing options.' do
      @merged = @options.dup
      @merged.reverse_merge!(@defaults).should == @expected
      @merged.should == @expected
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
gorillib-0.1.7 spec/hash/reverse_merge_spec.rb
gorillib-0.1.6 spec/hash/reverse_merge_spec.rb
gorillib-0.1.5 spec/hash/reverse_merge_spec.rb
gorillib-0.1.4 spec/hash/reverse_merge_spec.rb
gorillib-0.1.3 spec/hash/reverse_merge_spec.rb
gorillib-0.1.2 spec/hash/reverse_merge_spec.rb
gorillib-0.1.1 spec/hash/reverse_merge_spec.rb
gorillib-0.1.0 spec/hash/reverse_merge_spec.rb
gorillib-0.0.8 spec/hash/reverse_merge_spec.rb