1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/library/monitor/mon_initialize_spec.rb
eregon e87fb88be8 Update to ruby/spec@241f9e7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-25 10:41:16 +00:00

31 lines
627 B
Ruby

require_relative '../../spec_helper'
require 'monitor'
describe "MonitorMixin#mon_initialize" do
it "can be called in initialize_copy to get a new Mutex and used with synchronize" do
cls = Class.new do
include MonitorMixin
def initialize(*array)
mon_initialize
@array = array
end
def to_a
synchronize { @array.dup }
end
def initialize_copy(other)
mon_initialize
synchronize do
@array = other.to_a
end
end
end
instance = cls.new(1, 2, 3)
copy = instance.dup
copy.should_not equal(instance)
end
end