Sha256: 01c5d5211f94c9738ed78c9d673b2e7c345c69b7e80aaa618d0c20032d0683f1

Contents?: true

Size: 1.57 KB

Versions: 45

Compression:

Stored size: 1.57 KB

Contents

require 'spec_helper'

describe Hash do

  before do
    Github.new
    @hash = { :a => 1, :b => 2, :c => 'e'}
    @serialized = "a=1&b=2&c=e"
    @nested_hash = { 'a' => { 'b' => {'c' => 1 } } }
    @symbols = { :a => { :b => { :c => 1 } } }
  end

  context '#except!' do
    it "should respond to except!" do
      @nested_hash.should respond_to :except!
    end
  end

  context '#except' do
    it "should respond to except" do
      @nested_hash.should respond_to :except
    end

    it "should remove key from the hash" do
      @nested_hash.except('a').should be_empty
    end
  end

  context '#symbolize_keys' do
    it "should respond to symbolize_keys" do
      @nested_hash.should respond_to :symbolize_keys
    end
  end

  context '#symbolize_keys!' do
    it "should respond to symbolize_keys!" do
      @nested_hash.should respond_to :symbolize_keys!
    end

    it "should convert nested keys to symbols" do
      @nested_hash.symbolize_keys!.should == @symbols
    end
  end

  context '#serialize' do
    it "should respond to serialize" do
      @nested_hash.should respond_to :serialize
    end

    it "should serialize hash" do
      @hash.serialize.should == @serialized
    end
  end

  context '#all_keys' do
    it "should respond to all_keys" do
      @nested_hash.should respond_to :all_keys
    end

    it "should return all keys for nested hash" do
      @nested_hash.all_keys.should eq ['a', 'b', 'c']
    end
  end

  context '#has_deep_key?' do
    it 'should find key inside nested hash' do
      @nested_hash.has_deep_key?('c').should be_true
    end
  end

end # Hash

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
github_api-0.10.0 spec/github/core_ext/hash_spec.rb
github_api-0.9.7 spec/github/core_ext/hash_spec.rb
github_api-0.9.6 spec/github/core_ext/hash_spec.rb
github_api-0.9.5 spec/github/core_ext/hash_spec.rb
github_api-0.9.4 spec/github/core_ext/hash_spec.rb
github_api-0.9.3 spec/github/core_ext/hash_spec.rb
github_api-0.9.2 spec/github/core_ext/hash_spec.rb
github_api-0.9.1 spec/github/core_ext/hash_spec.rb
github_api-0.9.0 spec/github/core_ext/hash_spec.rb
github_api-0.8.11 spec/github/core_ext/hash_spec.rb
github_api-0.8.10 spec/github/core_ext/hash_spec.rb
github_api-0.8.9 spec/github/core_ext/hash_spec.rb
github_api-0.8.8 spec/github/core_ext/hash_spec.rb
github_api-0.8.7 spec/github/core_ext/hash_spec.rb
github_api-0.8.6 spec/github/core_ext/hash_spec.rb
github_api-0.8.5 spec/github/core_ext/hash_spec.rb
github_api-0.8.4 spec/github/core_ext/hash_spec.rb
github_api-0.8.3 spec/github/core_ext/hash_spec.rb
github_api-0.8.2 spec/github/core_ext/hash_spec.rb
github_api-0.8.1 spec/github/core_ext/hash_spec.rb