116: def new_instances(*allocators, &block)
117: fail ArgumentError, "new_instances requires a Class to stub" unless Class === @obj
118: allocators = [:new, :allocate] if allocators.empty?
119: result = ExpectationRecorder.new
120: allocators.each do |m|
121: self.should_receive(m).and_return { |*args|
122: new_obj = invoke_original(m, args)
123: mock = flexmock_container.flexmock(new_obj)
124: block.call(mock) if block_given?
125: result.apply(mock)
126: new_obj
127: }
128: end
129: result
130: end