diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2015-08-11 14:26:22 +0200 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2015-08-11 14:26:22 +0200 |
commit | 775579a815a2e5dec3cf22736684fa3e92d1379c (patch) | |
tree | a6b1285f3c8b88552ed60f3fb1bba3075db811b8 | |
parent | b376384e7a0ff617bd61ef5340dfae60eadb0d3c (diff) | |
parent | 678ed4d6818e870de46ed91bd084889bed80c16d (diff) | |
download | bacon-775579a815a2e5dec3cf22736684fa3e92d1379c.tar.gz bacon-775579a815a2e5dec3cf22736684fa3e92d1379c.tar.xz bacon-775579a815a2e5dec3cf22736684fa3e92d1379c.zip |
Merge pull request #22 from godfat/pass-the-block
The methods in describe should also pass the 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 |