Sha256: 3563c5f877a24211853737e9c91d259a0772c84d05b868426d463f38a439f13f

Contents?: true

Size: 851 Bytes

Versions: 1

Compression:

Stored size: 851 Bytes

Contents

require 'spec_helper'

describe "Hash" do
  describe "#inner_merge" do
    it "should do a deep merge for new keys and deep override for existing keys" do
      hash1 = {
        'key1' => 'value1',
        'key2' => {
          'inner_key1' =>'inner_value1',
          'inner_key2' =>'inner_value2'
        }
      }
      hash2 = {
        'key_to_merge' => 'value_to_merge',
        'key2' => {
          'inner_key_to_be_merged' =>'inner_value_to_be_merged',
          'inner_key2' =>'inner_value_to_override'
        }
      }
      hash1.inner_merge(hash2).should == {
        "key1"=>"value1",
        "key2"=>{
          "inner_key1"=>"inner_value1",
          "inner_key2"=>"inner_value_to_override",
          "inner_key_to_be_merged"=>"inner_value_to_be_merged"
        },
        "key_to_merge"=>"value_to_merge"
      }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cloudster-2.19.7 spec/inner_merge_spec.rb