Sha256: a8a3a0255dae55759c6ccf5c3e719a19c3e530a8f0aa7ab813689c7715936a90

Contents?: true

Size: 1.34 KB

Versions: 3

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'

describe Array do

  describe 'recursively_symbolize_keys!' do

    it "should recursively convert a hash with string keys to a hash with symbol keys" do
      hash_symbols = {
                        :options => {
                          :verbose => false,
                        },
                          :repos => {
                             :repo1 => {:path => "something"}
                        }
                      }

      hash_strings = {
                        'options' => {
                          'verbose' => false,
                        },
                          'repos' => {
                             'repo1' => {'path' => "something"}
                        }
                      }

      hash_symbols.should == hash_strings.recursively_symbolize_keys!
    end

    it "should should handle hashes that are already symbolized" do
      hash_symbols = {
                        :options => {
                          :verbose => false,
                        },
                          :repos => {
                             :repo1 => {:path => "something"}
                        }
                      }

      hash_copy = hash_symbols.dup

      hash_copy.should == hash_symbols.recursively_symbolize_keys!
      hash_symbols[:repos][:repo1].should == {:path => "something"}
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
oct-0.3.3 spec/basic_app/array_spec.rb
oct-0.3.2 spec/basic_app/array_spec.rb
oct-0.3.1 spec/basic_app/array_spec.rb