Sha256: 72be1125849fbc91e29dbf603371971687e340a343d59897c191402ae9027b4d
Contents?: true
Size: 1.45 KB
Versions: 5
Compression:
Stored size: 1.45 KB
Contents
$LOAD_PATH.unshift File.expand_path('../../../lib', __FILE__) require 'rspec' require 'image_optim/hash_helpers' describe ImageOptim::HashHelpers do HH = ImageOptim::HashHelpers context 'stringify/simbolyze' do WITH_SYMBOL_KEYS = { :a => 1, :b => { :c => [:a, 'a'], :d => {}, }, } WITH_STRING_KEYS = { 'a' => 1, 'b' => { 'c' => [:a, 'a'], 'd' => {}, }, } it 'should deep stringify hash keys' do expect(HH.deep_stringify_keys(WITH_SYMBOL_KEYS)).to eq(WITH_STRING_KEYS) expect(HH.deep_stringify_keys(WITH_STRING_KEYS)).to eq(WITH_STRING_KEYS) end it 'should deep symbolise hash keys' do expect(HH.deep_symbolise_keys(WITH_STRING_KEYS)).to eq(WITH_SYMBOL_KEYS) expect(HH.deep_symbolise_keys(WITH_SYMBOL_KEYS)).to eq(WITH_SYMBOL_KEYS) end end it 'should deep merge hashes' do merge_a = { :a => { :b => 1, :c => { :d => 2, :e => { :f => true, }, }, }, :y => 10, } merge_b = { :a => { :b => 2, :c => { :d => 3, :e => false, }, }, 'z' => 20, } merge_result = { :a => { :b => 2, :c => { :d => 3, :e => false, }, }, :y => 10, 'z' => 20, } expect(HH.deep_merge(merge_a, merge_b)).to eq(merge_result) end end
Version data entries
5 entries across 5 versions & 1 rubygems