From 23a3079dc1c16ec0638896cd2fc4d8cd5d2a837a Mon Sep 17 00:00:00 2001 From: yugui Date: Sat, 13 Dec 2008 04:05:27 +0000 Subject: merges r20713 from trunk into ruby_1_9_1. * lib/minitest/test.rb (MinTest::Unit#location): skips user-defined assertions as MiniTest's. e.g. for test/ruby/test_m17n.rb. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@20716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/minitest/unit.rb | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 13d08af37..9a99b52fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Dec 13 12:38:16 2008 Yuki Sonoda (Yugui) + + * lib/minitest/test.rb (MinTest::Unit#location): + skips user-defined assertions as MiniTest's. + e.g. for test/ruby/test_m17n.rb. + Wed Dec 10 12:56:32 2008 Akinori MUSHA * enumerator.c (enumerator_rewind): If the enclosed object diff --git a/lib/minitest/unit.rb b/lib/minitest/unit.rb index 77176240c..7807e2e3e 100644 --- a/lib/minitest/unit.rb +++ b/lib/minitest/unit.rb @@ -336,8 +336,12 @@ p $! end def location e - e.backtrace.find { |s| - s !~ /in .(assert|refute|flunk|pass|fail|raise)/ + e.backtrace.reverse.inject(""){ |last, s| + if s =~ /in .(assert|refute|flunk$|pass$|fail$|raise$)/ + break last + else + s + end }.sub(/:in .*$/, '') end -- cgit