diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2014-07-07 16:19:29 -0700 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2014-07-07 16:19:29 -0700 |
commit | 678ed4d6818e870de46ed91bd084889bed80c16d (patch) | |
tree | 42c84d8c634affed7ac9bbf3ef9e2c8f2921c9ac | |
parent | dc7f88f6ff21b43958c10f91f555cd8056b9f7e0 (diff) | |
download | bacon-678ed4d6818e870de46ed91bd084889bed80c16d.tar.gz bacon-678ed4d6818e870de46ed91bd084889bed80c16d.tar.xz bacon-678ed4d6818e870de46ed91bd084889bed80c16d.zip |
The methods in describe should also pass the block
for the nested describe block.
-rw-r--r-- | lib/bacon.rb | 4 | ||||
-rw-r--r-- | test/spec_bacon.rb | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/lib/bacon.rb b/lib/bacon.rb index 8d5e099..045a910 100644 --- a/lib/bacon.rb +++ b/lib/bacon.rb @@ -218,8 +218,8 @@ module Bacon def describe(*args, &block) context = Bacon::Context.new(args.join(' '), &block) (parent_context = self).methods(false).each {|e| - (class << context; self; end).send(:define_method, e) { |*args2| - parent_context.send(e, *args2) + (class << context; self; end).send(:define_method, e) { |*args2, &block2| + parent_context.send(e, *args2, &block2) } } @before.each { |b| context.before(&b) } diff --git a/test/spec_bacon.rb b/test/spec_bacon.rb index 2d1ceef..e3e288e 100644 --- a/test/spec_bacon.rb +++ b/test/spec_bacon.rb @@ -375,6 +375,10 @@ describe "Methods" do 42 end + def the_towels + yield "DON'T PANIC" + end + it "should be accessible in a test" do the_meaning_of_life.should == 42 end @@ -383,6 +387,12 @@ describe "Methods" do it "should be accessible in a test" do the_meaning_of_life.should == 42 end + + it "should pass the block" do + the_towels do |label| + label.should == "DON'T PANIC" + end.should == true + end end end |