Sha256: 3e335124641b14a472df03f9f9627a3122bc266bca18f44fa520fd12fdbb2023

Contents?: true

Size: 585 Bytes

Versions: 20

Compression:

Stored size: 585 Bytes

Contents

require File.join(File.dirname(__FILE__), %w[.. .. .. spec_helper])

describe SC::HashStruct, 'deep_clone' do

  it "should deep_clone any objects that respond to deep_clone" do
    a = SC::HashStruct.new
    a[:b] = SC::HashStruct.new :c => :d
    
    e = a.deep_clone
    e[:b][:c] = :f
    
    e[:b][:c].should eql(:f)    
    a[:b][:c].should eql(:d)
  end
  
  it "should clone any objects that respond to clone" do
    a = SC::HashStruct.new
    a[:b] = [1,2,3]
    
    b = a.deep_clone
    b[:b][0] = 4
    
    a[:b][0].should eql(1)
    b[:b][0].should eql(4)
  end
  
end

Version data entries

20 entries across 20 versions & 2 rubygems

Version Path
sproutit-sproutcore-1.0.0.20090407205609 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutit-sproutcore-1.0.0.20090408130025 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutit-sproutcore-1.0.0.20090416161445 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutit-sproutcore-1.0.20090721145236 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1046 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1043 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1042 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1037 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1035 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1031 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1030 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1029 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1027 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1028 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1026 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1025 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1024 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1009 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1008 spec/lib/models/hash_struct/deep_clone_spec.rb
sproutcore-1.0.1003 spec/lib/models/hash_struct/deep_clone_spec.rb