Sha256: 65ea79de3dfb0bb93e95a9ebb76a05e2b52201e49626bd9e22670e6b2555ee7b

Contents?: true

Size: 711 Bytes

Versions: 3

Compression:

Stored size: 711 Bytes

Contents

require File.expand_path('../spec_helper', File.dirname(__FILE__))
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

3 entries across 3 versions & 1 rubygems

Version Path
gorillib-0.1.11 spec/hash/reverse_merge_spec.rb
gorillib-0.1.9 spec/hash/reverse_merge_spec.rb
gorillib-0.1.8 spec/hash/reverse_merge_spec.rb