spec/lib/extensions/module_spec.rb in picky-4.12.1 vs spec/lib/extensions/module_spec.rb in picky-4.12.2
- old
+ new
@@ -1,35 +1,72 @@
require 'spec_helper'
describe Module do
- describe 'each_delegate' do
+ describe 'each_forward' do
context "with correct params" do
- before(:each) do
- @klass = Class.new do
+ let(:klass) do
+ Class.new do
- each_delegate :bli, :bla, :blu, :to => :@some_enumerable
+ each_forward :bli, :bla, :blu, :to => :@some_enumerable
def initialize some_enumerable
@some_enumerable = some_enumerable
end
end
end
it 'should send each a bli' do
bli = stub :bli
- delegating = @klass.new [bli, bli, bli, bli]
+ delegating = klass.new [bli, bli, bli, bli]
bli.should_receive(:bli).exactly(4).times
delegating.bli
end
end
context "without correct params" do
+ it 'should raise an error' do
+ lambda do
+ Class.new do
+ each_forward :bli, :bla, :blu # :to missing
+ end
+ end.should raise_error(ArgumentError)
+ end
+ end
+ end
+
+ describe 'forward' do
+ context "with correct params" do
+ let(:klass) do
+ Class.new do
+
+ forward :bli, :bla, :blu, :to => :@some_thing
+
+ def initialize some_thing
+ @some_thing = some_thing
+ end
+
+ end
+ end
it 'should send each a bli' do
+ bli = stub :bli
+ delegating = klass.new bli
+
+ bli.should_receive(:bli).exactly(1).times
+ bli.should_receive(:bla).exactly(1).times
+ bli.should_receive(:blu).exactly(1).times
+
+ delegating.bli
+ delegating.bla
+ delegating.blu
+ end
+ end
+ context "without correct params" do
+ it 'should raise an error' do
lambda do
Class.new do
- each_delegate :bli, :bla, :blu # :to missing
+ forward :bli, :bla, :blu # :to missing
end
end.should raise_error(ArgumentError)
end
end
end
\ No newline at end of file