diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-09-17 06:53:21 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-09-17 06:53:21 +0000 |
commit | 91d28c4ffb253fe64514a543ebb17e9dbeb19374 (patch) | |
tree | 281307eb721f559c3335c67d224244fd06661f3a | |
parent | 246ff7cb68aedfa2847395287a561d05a898fafe (diff) | |
download | ruby-91d28c4ffb253fe64514a543ebb17e9dbeb19374.tar.gz |
assertions.rb: assert_throw
* lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_throw):
assertion for throw. MiniTest::Assertions#assert_throws discards
the cautht value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | lib/test/unit/assertions.rb | 19 |
2 files changed, 24 insertions, 1 deletions
@@ -1,4 +1,8 @@ -Tue Sep 17 15:52:32 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> +Tue Sep 17 15:53:20 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_throw): + assertion for throw. MiniTest::Assertions#assert_throws discards + the cautht value. * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert_nothing_thrown): returns the result of the given block. diff --git a/lib/test/unit/assertions.rb b/lib/test/unit/assertions.rb index 0c919394ab..29b12f7ca4 100644 --- a/lib/test/unit/assertions.rb +++ b/lib/test/unit/assertions.rb @@ -170,6 +170,25 @@ module Test end # :call-seq: + # assert_throw( tag, failure_message = nil, &block ) + # + #Fails unless the given block throws +tag+, returns the caught + #value otherwise. + # + #An optional failure message may be provided as the final argument. + # + # tag = Object.new + # assert_throw(tag, "#{tag} was not thrown!") do + # throw tag + # end + def assert_throw(tag, msg = nil) + catch(tag) do + yield(tag) + assert(false, message(msg) {"Expected #{mu_pp(tag)} to have been thrown"}) + end + end + + # :call-seq: # assert_equal( expected, actual, failure_message = nil ) # #Tests if +expected+ is equal to +actual+. |