Sha256: 5c39d86bdffb3ba98b7e4bb47f3f628ccf3b4739e6d8edc70223d5e70dea03cc
Contents?: true
Size: 1.08 KB
Versions: 83
Compression:
Stored size: 1.08 KB
Contents
require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper' require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/fixtures/classes' describe "Kernel#freeze" do it "prevents self from being further modified" do o = mock('o') o.frozen?.should == false o.freeze o.frozen?.should == true end it "has no effect on immediate values" do a = nil b = true c = false d = 1 a.freeze b.freeze c.freeze d.freeze a.frozen?.should == false b.frozen?.should == false c.frozen?.should == false d.frozen?.should == false end ruby_version_is "" ... "1.9" do it "causes mutative calls to raise TypeError" do o = Class.new do def mutate; @foo = 1; end end.new o.freeze lambda {o.mutate}.should raise_error(TypeError) end end ruby_version_is "1.9" do it "causes mutative calls to raise RuntimeError" do o = Class.new do def mutate; @foo = 1; end end.new o.freeze lambda {o.mutate}.should raise_error(RuntimeError) end end end
Version data entries
83 entries across 83 versions & 1 rubygems