2018-03-04 10:09:32 -05:00
|
|
|
require_relative '../../../spec_helper'
|
2017-05-07 08:04:49 -04:00
|
|
|
require 'delegate'
|
|
|
|
|
|
|
|
describe "SimpleDelegator" do
|
|
|
|
before :all do
|
|
|
|
@obj = "hello"
|
|
|
|
@delegate = SimpleDelegator.new(@obj)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "can be marshalled" do
|
|
|
|
m = Marshal.load(Marshal.dump(@delegate))
|
|
|
|
m.class.should == SimpleDelegator
|
|
|
|
(m == @obj).should be_true
|
|
|
|
end
|
|
|
|
|
|
|
|
it "can be marshalled with its instance variables intact" do
|
|
|
|
@delegate.instance_variable_set(:@foo, "bar")
|
|
|
|
m = Marshal.load(Marshal.dump(@delegate))
|
|
|
|
m.instance_variable_get(:@foo).should == "bar"
|
|
|
|
end
|
|
|
|
end
|