Sha256: 37ffadfd1cfef3206a2b15827b7051e584c13734d5cd9886183129d2cdfa8e0b

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

require 'spec_helper'

describe Hash do
  it "#without" do
    { :a => 1, :b => 2, :c => 3 }.without(:a, :b).should == {:c => 3}
  end

  it "#without_values" do
    { :a => 1, :b => 1, :c => 2, :d => 2}.without_values(1).should == {:c => 2, :d => 2}
  end

  it "#optionalize" do
    { :a => nil, :b => nil, :c => 1, :d => 2 }.optionalize.should == { :c => 1, :d => 2}
  end

  it "#camelize_keys" do
    { :hello_world => 1, :goodbye_john => 2}.camelize_keys.should == { 'HelloWorld' => 1, 'GoodbyeJohn' => 2 }
  end

  it "#rename" do
    { :a => 1, :b => 2 }.rename(:a => :b, :b => :c).should == { :b => 1, :c => 2 }
  end

  context "#deep_dup" do
    subject { { 'baz' => '42' } }
    
    it "is not itself" do
      subject.deep_dup.should_not equal(subject)
    end

    it "keys are not themselves" do
      subject.deep_dup.keys[0].should_not equal(subject.keys[0])
    end

    it "values are not themselves" do
      subject.deep_dup.values[0].should_not equal(subject.values[0])
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sc-core-ext-1.1.1 spec/sc-core-ext/hash_spec.rb