Sha256: 2f1a4b0a61c1a080db9991452edcaf3989656e2eefcf9e37cc78d9a491eaf5fd
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require File.expand_path(File.dirname(__FILE__) + '/spec_helper') describe Advice do context '#before_advice' do before do @class = Class.new do extend Advice attr_accessor :closed_over define_method :silly do self.closed_over ||= 1 self.closed_over += 5 end define_method :checkin do self.closed_over ||= 1 self.closed_over *= 2 end before_advice :silly, :checkin end end it 'causes the advised method to run the suggested advice before running' do @class.new.silly.should == 7 end end context '#after_advice' do before do @class = Class.new do extend Advice attr_accessor :closed_over define_method :silly do self.closed_over ||= 1 self.closed_over += 5 end define_method :checkout do self.closed_over ||= 1 self.closed_over *= 2 end after_advice :silly, :checkout end end it 'causes the advised method to run the suggested advice after running' do object = @class.new object.silly object.closed_over.should == 12 end end context '#argument_advice' do before do @class = Class.new do extend Advice attr_accessor :closed_over define_method :silly do |arg| arg + 5 end define_method :twiddle do |arg| arg * 2 end argument_advice :silly, :twiddle end end it 'causes the advised method to run, rewriting the arguments' do @class.new.silly(1).should == 7 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wool-0.5.1 | spec/advice_specs/advice_spec.rb |