/IronPython_Main/Languages/Ruby/Tests/Interop/net/delegate/shared/instantiation.rb
Ruby | 31 lines | 24 code | 7 blank | 0 comment | 0 complexity | 60625157653f38e5787afb21d8e3c7cd MD5 | raw file
Possible License(s): GPL-2.0, MPL-2.0-no-copyleft-exception, CPL-1.0, CC-BY-SA-3.0, BSD-3-Clause, ISC, AGPL-3.0, LGPL-2.1, Apache-2.0
- require File.dirname(__FILE__) + "/../fixtures/classes"
-
- describe :delegate_instantiation, :shared => true do
- before(:each) do
- @class = @method
- end
-
- it "creates a delegate from bound methods" do
- @class.new(DelegateTester.method(:bar)).should be_kind_of @class
- end
-
- it "creates a delegate from lambdas" do
- @class.new(lambda { puts '123' }).should be_kind_of @class
- end
-
- it "creates a delegate from procs" do
- @class.new(proc { puts '123' }).should be_kind_of @class
- end
-
- it "creates a delegate from blocks" do
- (@class.new {puts '123'}).should be_kind_of @class
- end
-
- it "requires an argument" do
- lambda {@class.new}.should raise_error ArgumentError
- end
-
- it "requires a proc-like object" do
- lambda {@class.new(1)}.should raise_error TypeError
- end
- end