spec/contracts_spec.rb in contracts-0.10.1 vs spec/contracts_spec.rb in contracts-0.11.0

- old
+ new

@@ -224,11 +224,11 @@ end describe "anonymous classes" do let(:klass) do Class.new do - include Contracts + include Contracts::Core Contract String => String def greeting(name) "hello, #{name}" end @@ -247,11 +247,11 @@ end describe "anonymous modules" do let(:mod) do Module.new do - include Contracts + include Contracts::Core Contract String => String def greeting(name) "hello, #{name}" end @@ -420,9 +420,19 @@ it "should fail for maybe proc with invalid input" do expect do @o.maybe_call("bad") end.to raise_error(ContractError) + end + + describe "varargs are given with a maybe block" do + it "when a block is passed in, varargs should be correct" do + expect(@o.maybe_call(1, 2, 3) { 1 + 1 }).to eq([1, 2, 3]) + end + + it "when a block is NOT passed in, varargs should still be correct" do + expect(@o.maybe_call(1, 2, 3)).to eq([1, 2, 3]) + end end end describe "varargs" do it "should pass for correct input" do