Sha256: c72c3b966cb36a316b342641ed3f5cd6a0eac8214aa538a05622284c4556ad2f
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
require File.expand_path('../../fixtures/classes', __FILE__) describe "Delegator when frozen" do before :all do @array = [42, :hello] @delegate = DelegateSpecs::Delegator.new(@array) @delegate.freeze end it "is still readable" do @delegate.should == [42, :hello] @delegate.include?("bar").should be_false end it "is frozen" do @delegate.frozen?.should be_true end ruby_bug "redmine:2221", "1.8.7" do it "is not writeable" do lambda{ @delegate[0] += 2 }.should raise_error( RuntimeError ) end it "creates a frozen clone" do @delegate.clone.frozen?.should be_true end end it "creates an unfrozen dup" do @delegate.dup.frozen?.should be_false end ruby_version_is "" ... "1.9" do it "causes mutative calls to raise TypeError" do lambda{ @delegate.__setobj__("hola!") }.should raise_error( TypeError ) end end ruby_version_is "1.9" do it "causes mutative calls to raise RuntimeError" do lambda{ @delegate.__setobj__("hola!") }.should raise_error( RuntimeError ) end end it "returns false if only the delegated object is frozen" do DelegateSpecs::Delegator.new([1,2,3].freeze).frozen?.should be_false end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rubysl-delegate-2.0.1 | spec/delegator/frozen_spec.rb |
rubysl-delegate-1.0.0 | spec/delegator/frozen_spec.rb |
rubysl-delegate-2.0.0 | spec/delegator/frozen_spec.rb |