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