test/minitest/test_minitest_assertions.rb in minitest-5.14.4 vs test/minitest/test_minitest_assertions.rb in minitest-5.15.0
- old
+ new
@@ -26,10 +26,13 @@
# which is not threadsafe. Nearly every method in here is an
# assertion test so it isn't worth splitting it out further.
RUBY18 = !defined? Encoding
+ # not included in JRuby
+ RE_LEVELS = /\(\d+ levels\) /
+
class DummyTest
include Minitest::Assertions
# include Minitest::Reportable # TODO: why do I really need this?
attr_accessor :assertions, :failure
@@ -754,16 +757,16 @@
expected = clean <<-EOM.chomp
[StandardError] exception expected, not
Class: <SomeError>
Message: <\"blah\">
---Backtrace---
- FILE:LINE:in \`test_assert_raises_default_triggered\'
+ FILE:LINE:in \`block in test_assert_raises_default_triggered\'
---------------
EOM
actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
- actual.gsub!(/block \(\d+ levels\) in /, "") if RUBY_VERSION >= "1.9.0"
+ actual.gsub!(RE_LEVELS, "") unless jruby?
assert_equal expected, actual
end
def test_assert_raises_exit
@@ -833,16 +836,16 @@
expected = clean <<-EOM
[SomeError] exception expected, not
Class: <AnError>
Message: <\"some message\">
---Backtrace---
- FILE:LINE:in \`test_assert_raises_subclass_triggered\'
+ FILE:LINE:in \`block in test_assert_raises_subclass_triggered\'
---------------
EOM
actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
- actual.gsub!(/block \(\d+ levels\) in /, "") if RUBY_VERSION >= "1.9.0"
+ actual.gsub!(RE_LEVELS, "") unless jruby?
assert_equal expected.chomp, actual
end
def test_assert_raises_triggered_different
@@ -855,16 +858,16 @@
expected = clean <<-EOM.chomp
[RuntimeError] exception expected, not
Class: <SyntaxError>
Message: <\"icky\">
---Backtrace---
- FILE:LINE:in \`test_assert_raises_triggered_different\'
+ FILE:LINE:in \`block in test_assert_raises_triggered_different\'
---------------
EOM
actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
- actual.gsub!(/block \(\d+ levels\) in /, "") if RUBY_VERSION >= "1.9.0"
+ actual.gsub!(RE_LEVELS, "") unless jruby?
assert_equal expected, actual
end
def test_assert_raises_triggered_different_msg
@@ -878,16 +881,16 @@
XXX.
[RuntimeError] exception expected, not
Class: <SyntaxError>
Message: <\"icky\">
---Backtrace---
- FILE:LINE:in \`test_assert_raises_triggered_different_msg\'
+ FILE:LINE:in \`block in test_assert_raises_triggered_different_msg\'
---------------
EOM
actual = e.message.gsub(/^.+:\d+/, "FILE:LINE")
- actual.gsub!(/block \(\d+ levels\) in /, "") if RUBY_VERSION >= "1.9.0"
+ actual.gsub!(RE_LEVELS, "") unless jruby?
assert_equal expected.chomp, actual
end
def test_assert_raises_triggered_none
@@ -993,12 +996,22 @@
end
end
end
def test_assert_throws
- @tc.assert_throws :blah do
+ v = @tc.assert_throws :blah do
throw :blah
end
+
+ assert_nil v
+ end
+
+ def test_assert_throws_value
+ v = @tc.assert_throws :blah do
+ throw :blah, 42
+ end
+
+ assert_equal 42, v
end
def test_assert_throws_argument_exception
@assertion_count = 0