Sha256: 4229a3933c751ecd00013dfdd9de089e21fda46bb069bca31ec4c3d146a942a6
Contents?: true
Size: 758 Bytes
Versions: 2
Compression:
Stored size: 758 Bytes
Contents
require 'spec_helper' describe Virtus, '#freeze' do subject { object.freeze } let(:model) { Class.new { include Virtus attribute :name, String, :default => 'foo', :lazy => true attribute :age, Integer, :default => 30 attribute :rand, Float, :default => Proc.new { rand } } } let(:object) { model.new } it { should be_frozen } its(:name) { should eql('foo') } its(:age) { should be(30) } it "does not change dynamic default values" do original_value = object.rand object.freeze expect(object.rand).to eq original_value end it "does not change default attributes that have been explicitly set" do object.rand = 3.14 object.freeze expect(object.rand).to eq 3.14 end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
virtus-1.0.3 | spec/unit/virtus/freeze_spec.rb |
virtus-1.0.2 | spec/unit/virtus/freeze_spec.rb |