From 0de26556f0c730bb506b4526c043f50c1345d10b Mon Sep 17 00:00:00 2001 From: Kevin Fischer Date: Wed, 8 Apr 2020 13:52:00 +0900 Subject: Add raises! method to GTK::Assert --- dragon/assert.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dragon/assert.rb b/dragon/assert.rb index 47d39ef..0eb8c2a 100644 --- a/dragon/assert.rb +++ b/dragon/assert.rb @@ -47,5 +47,18 @@ module GTK end nil end + + def raises! exception_class, message = nil + @assertion_performed = true + begin + yield + rescue exception_class + return # Success + rescue Exception => e + raise "Expected #{exception_class.name} to be raised but instead #{e.class.name} was raised\n#{message}" + else + raise "Expected #{exception_class.name} to be raised but nothing was raised\n#{message}" + end + end end end -- cgit v1.2.3