summaryrefslogtreecommitdiffhomepage
path: root/test/assert.rb
diff options
context:
space:
mode:
authorChristopher Aue <[email protected]>2017-08-29 23:25:53 +0200
committerChristopher Aue <[email protected]>2017-08-29 23:25:53 +0200
commit4b0b8f7e1af6e452fa4ab36217290e953b866ac8 (patch)
treee9339425912ac61ce32d9ae384ef310d38b54a34 /test/assert.rb
parent8976f47e0a0399b4332cfca6e8b9de8345bcf1af (diff)
downloadmruby-4b0b8f7e1af6e452fa4ab36217290e953b866ac8.tar.gz
mruby-4b0b8f7e1af6e452fa4ab36217290e953b866ac8.zip
Refactored #assert_raise and #assert_nothing_raised
Diffstat (limited to 'test/assert.rb')
-rw-r--r--test/assert.rb71
1 files changed, 30 insertions, 41 deletions
diff --git a/test/assert.rb b/test/assert.rb
index 8ab9db29e..6760ae0a7 100644
--- a/test/assert.rb
+++ b/test/assert.rb
@@ -143,52 +143,41 @@ def assert_not_include(collection, obj, msg = nil)
assert_false(collection.include?(obj), msg, diff)
end
-def assert_raise(*exp)
- ret = true
- if $mrbtest_assert
- $mrbtest_assert_idx += 1
- msg = exp.last.class == String ? exp.pop : nil
- msg = msg.to_s + " : " if msg
- should_raise = false
- begin
- yield
- should_raise = true
- rescue Exception => e
- msg = "#{msg}#{exp.inspect} exception expected, not"
- diff = " Class: <#{e.class}>\n" +
- " Message: #{e.message}"
- unless exp.any?{|ex| ex.instance_of?(Module) ? e.kind_of?(ex) : ex == e.class }
- $mrbtest_assert.push([$mrbtest_assert_idx, msg, diff])
- ret = false
- end
- end
+def assert_raise(exc, msg = nil)
+ return true unless $mrbtest_assert
+ $mrbtest_assert_idx += 1
- exp = exp.first if exp.first
- if should_raise
- msg = "#{msg}#{exp.inspect} expected but nothing was raised."
- $mrbtest_assert.push([$mrbtest_assert_idx, msg, nil])
- ret = false
- end
+ begin
+ yield
+ msg ||= "Expected to raise #{exc} but nothing was raised."
+ diff = nil
+ $mrbtest_assert.push [$mrbtest_assert_idx, msg, diff]
+ false
+ rescue exc
+ true
+ rescue Exception => e
+ msg ||= "Expected to raise #{exc}, not"
+ diff = " Class: <#{e.class}>\n" +
+ " Message: #{e.message}"
+ $mrbtest_assert.push [$mrbtest_assert_idx, msg, diff]
+ false
end
- ret
end
-def assert_nothing_raised(*exp)
- ret = true
- if $mrbtest_assert
- $mrbtest_assert_idx += 1
- msg = exp.last.class == String ? exp.pop : ""
- begin
- yield
- rescue Exception => e
- msg = "#{msg} exception raised."
- diff = " Class: <#{e.class}>\n" +
- " Message: #{e.message}"
- $mrbtest_assert.push([$mrbtest_assert_idx, msg, diff])
- ret = false
- end
+def assert_nothing_raised(msg = nil)
+ return true unless $mrbtest_assert
+ $mrbtest_assert_idx += 1
+
+ begin
+ yield
+ true
+ rescue Exception => e
+ msg ||= "Expected not to raise #{exc.join(', ')} but it raised"
+ diff = " Class: <#{e.class}>\n" +
+ " Message: #{e.message}"
+ $mrbtest_assert.push [$mrbtest_assert_idx, msg, diff]
+ false
end
- ret
end
##