Sha256: ef643c259bc2dbee81a6926ece503119bf8386275988cdd1587e92d010f12b0d
Contents?: true
Size: 875 Bytes
Versions: 4
Compression:
Stored size: 875 Bytes
Contents
require "spec_helper" module MethodMissingSpecs class A def method_missing(mid, *args) [mid, args] end end class B def method_missing(mid, *args, &block) [mid, block] end end end describe "method_missing" do before do @obj = MethodMissingSpecs::A.new end it "should pass the missing method name as first argument" do @obj.foo.should eq([:foo, []]) end it "should correctly pass arguments to method_missing" do @obj.bar(1, 2, 3).should eq([:bar, [1, 2, 3]]) end it "should pass blocks to method_missing" do obj = MethodMissingSpecs::B.new proc = proc { 1 } obj.baz(1, 2, &proc).should eq([:baz, proc]) end end describe "BasicObject#method_missing" do it "raises an error for the missing method" do lambda { BasicObject.new.foo_bar_baz }.should raise_error(Exception) end end
Version data entries
4 entries across 4 versions & 1 rubygems