2018-06-03 01:10:41 -04:00
|
|
|
require_relative '../../spec_helper'
|
|
|
|
|
2018-06-13 17:41:45 -04:00
|
|
|
ruby_version_is "2.6" do
|
|
|
|
describe 'TracePoint#parameters' do
|
|
|
|
it 'returns the parameters of block' do
|
|
|
|
f = proc {|x, y, z| }
|
|
|
|
parameters = nil
|
|
|
|
TracePoint.new(:b_call) {|tp| parameters = tp.parameters }.enable do
|
|
|
|
f.call
|
|
|
|
parameters.should == [[:opt, :x], [:opt, :y], [:opt, :z]]
|
|
|
|
end
|
2018-06-03 01:10:41 -04:00
|
|
|
end
|
|
|
|
|
2018-06-13 17:41:45 -04:00
|
|
|
it 'returns the parameters of lambda block' do
|
2019-07-27 06:40:09 -04:00
|
|
|
f = -> x, y, z { }
|
2018-06-13 17:41:45 -04:00
|
|
|
parameters = nil
|
|
|
|
TracePoint.new(:b_call) {|tp| parameters = tp.parameters }.enable do
|
|
|
|
f.call(1, 2, 3)
|
|
|
|
parameters.should == [[:req, :x], [:req, :y], [:req, :z]]
|
|
|
|
end
|
2018-06-03 01:10:41 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|