summaryrefslogtreecommitdiff
path: root/spec/ruby/core/enumerator/yielder/to_proc_spec.rb
blob: 0ed16458533086abea5301040bf27ced922c418f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require_relative '../../../spec_helper'

ruby_version_is "2.7" do
  describe "Enumerator::Yielder#to_proc" do
    it "returns a Proc object that takes an argument and yields it to the block" do
      ScratchPad.record []
      y = Enumerator::Yielder.new { |*args| ScratchPad << args; "foobar" }

      callable = y.to_proc
      callable.class.should == Proc

      result = callable.call(1, 2)
      ScratchPad.recorded.should == [[1, 2]]

      result.should == "foobar"
    end
  end
end