Sha256: b8bcb3a3af214262b3a44dbfc6a10d88ce5b8120c7c4e562221f600a0f59dc47

Contents?: true

Size: 1.22 KB

Versions: 9

Compression:

Stored size: 1.22 KB

Contents

require File.dirname(__FILE__)+'/../spec_helper'
require 'gorillib/hash/deep_compact'
require 'gorillib/array/deep_compact'

describe Hash do
  describe 'array/deep_compact and hash/deep_compact' do
    it "should respond to the method deep_compact!" do
      { }.should respond_to :deep_compact!
    end

    it "should return nil if all values evaluate as blank" do
      { :a => nil, :b => "", :c => [], :d => {} }.deep_compact!.should == {}
    end

    it "should return a hash with all blank values removed recursively" do
      @test_hash = {:e=>["", nil, [], {}, "foo", { :a=> [nil, {}, { :c=> ["","",[]] } ], :b => nil }]}
      @test_hash.deep_compact!.should == {:e=>["foo"]}
    end
  end
end

describe Array do
  describe 'array/deep_compact and hash/deep_compact' do
    it "should respond to the method deep_compact!" do
      [ ].should respond_to :deep_compact!
    end

    it "should return nil if all values evaluate as blank" do
      [nil, '', { }, []].deep_compact!.should == []
    end

    it "should return a hash with all blank values removed recursively" do
      @test_arr = ["", nil, [], {}, "foo", { :a=> [nil, {}, { :c=> ["","",[]] } ], :b => nil }]
      @test_arr.deep_compact!.should == ["foo"]
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
gorillib-0.1.7 spec/hash/deep_compact_spec.rb
gorillib-0.1.6 spec/hash/deep_compact_spec.rb
gorillib-0.1.5 spec/hash/deep_compact_spec.rb
gorillib-0.1.4 spec/hash/deep_compact_spec.rb
gorillib-0.1.3 spec/hash/deep_compact_spec.rb
gorillib-0.1.2 spec/hash/deep_compact_spec.rb
gorillib-0.1.1 spec/hash/deep_compact_spec.rb
gorillib-0.1.0 spec/hash/deep_compact_spec.rb
gorillib-0.0.8 spec/hash/deep_compact_spec.rb