diff options
-rw-r--r-- | lib/bacon.rb | 8 | ||||
-rw-r--r-- | test/spec_bacon.rb | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/lib/bacon.rb b/lib/bacon.rb index 0261c88..74d2a94 100644 --- a/lib/bacon.rb +++ b/lib/bacon.rb @@ -181,6 +181,14 @@ class Proc else false end + + def throw?(sym) + catch(sym) { + call + return false + } + return true + end end class Float diff --git a/test/spec_bacon.rb b/test/spec_bacon.rb index cfbb7bb..0f6e95e 100644 --- a/test/spec_bacon.rb +++ b/test/spec_bacon.rb @@ -196,6 +196,16 @@ describe "Bacon" do lambda { nil.should.not.bla }.should.raise(NoMethodError) end + it "should have should.raise" do + lambda { lambda { bla }.should.raise(NameError) }.should succeed + lambda { lambda { nil }.should.raise(NameError) }.should fail + end + + it "should have should.throw" do + lambda { lambda { throw :foo }.should.throw(:foo) }.should succeed + lambda { lambda { :foo }.should.throw(:foo) }.should fail + end + it "should have should <operator> (>, >=, <, <=, ===)" do lambda { 2.should.be > 1 }.should succeed lambda { 1.should.be > 2 }.should fail |