1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
require_relative '../../spec_helper'
require_relative 'shared/call'
require_relative 'shared/call_arguments'
require_relative 'fixtures/proc_aref'
require_relative 'fixtures/proc_aref_frozen'
describe "Proc#[]" do
it_behaves_like :proc_call, :[]
it_behaves_like :proc_call_block_args, :[]
end
describe "Proc#call on a Proc created with Proc.new" do
it_behaves_like :proc_call_on_proc_new, :call
end
describe "Proc#call on a Proc created with Kernel#lambda or Kernel#proc" do
it_behaves_like :proc_call_on_proc_or_lambda, :call
end
describe "Proc#[] with frozen_string_literals" do
it "doesn't duplicate frozen strings" do
ProcArefSpecs.aref.frozen?.should be_false
ProcArefSpecs.aref_freeze.frozen?.should be_true
ProcArefFrozenSpecs.aref.frozen?.should be_true
ProcArefFrozenSpecs.aref_freeze.frozen?.should be_true
end
end
|