Sha256: 996aff1f837cd33c5affaa08a1469dcbcd569214c2dd3684c39a7a144fd4ae17
Contents?: true
Size: 899 Bytes
Versions: 5
Compression:
Stored size: 899 Bytes
Contents
covers 'facets/hash/recurse' test_case Hash do method :recurse do test do h = {:a=>1, :b=>{:b1=>1, :b2=>2}} g = h.recurse{|h| h.inject({}){|h,(k,v)| h[k.to_s] = v; h} } g.assert == {"a"=>1, "b"=>{"b1"=>1, "b2"=>2}} end test "with Arrays" do require 'facets/array/recurse' objects = [] struct = {:a => 3, :b => [4, 5, {:c=>6}]} struct.recurse(Array, Hash){|o| objects << o; o } objects.assert.include?( {:c=>6} ) objects.assert.include?( [4, 5, {:c=>6}] ) objects.assert.include?( struct ) objects.length.assert == 3 end end method :recurse! do test do h = {:a=>1, :b=>{:b1=>1, :b2=>2}} h.recurse!{|h| h.inject({}){|h,(k,v)| h[k.to_s] = v; h} } h.assert == {"a"=>1, "b"=>{"b1"=>1, "b2"=>2}} end end end
Version data entries
5 entries across 5 versions & 2 rubygems