aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2018-01-03 08:00:27 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2018-01-03 17:37:14 +0900
commitff0d5f14504f1aa29ad908ab15bab66b101427b7 (patch)
treed3a6320e57cdb709f6b9977a32324949508263e5 /railties
parent3a077f369199651fa62a3e9b8ab2d8f8ee70a0e9 (diff)
downloadrails-ff0d5f14504f1aa29ad908ab15bab66b101427b7.tar.gz
rails-ff0d5f14504f1aa29ad908ab15bab66b101427b7.tar.bz2
rails-ff0d5f14504f1aa29ad908ab15bab66b101427b7.zip
Correctly get source location
`filtered_results` returns an instance of `Minitest::Result` since https://github.com/seattlerb/minitest/commit/00433fc0a4fdd0e6b302aace633384ba13122376 `Minitest::Result` is not test class. So cannot get location directly.
Diffstat (limited to 'railties')
-rw-r--r--railties/lib/rails/test_unit/reporter.rb7
-rw-r--r--railties/test/test_unit/reporter_test.rb1
2 files changed, 7 insertions, 1 deletions
diff --git a/railties/lib/rails/test_unit/reporter.rb b/railties/lib/rails/test_unit/reporter.rb
index 7d3164f1eb..c8b7b70611 100644
--- a/railties/lib/rails/test_unit/reporter.rb
+++ b/railties/lib/rails/test_unit/reporter.rb
@@ -68,7 +68,12 @@ module Rails
end
def format_rerun_snippet(result)
- location, line = result.method(result.name).source_location
+ location, line = if result.respond_to?(:source_location)
+ result.source_location
+ else
+ result.method(result.name).source_location
+ end
+
"#{executable} #{relative_path_for(location)}:#{line}"
end
diff --git a/railties/test/test_unit/reporter_test.rb b/railties/test/test_unit/reporter_test.rb
index ad852d0f35..09360b2bb0 100644
--- a/railties/test/test_unit/reporter_test.rb
+++ b/railties/test/test_unit/reporter_test.rb
@@ -81,6 +81,7 @@ class TestUnitReporterTest < ActiveSupport::TestCase
verbose.record(skipped_test)
verbose.report
+
expect = %r{\ATestUnitReporterTest::ExampleTest#woot = 10\.00 s = S\n\n\nSkipped:\nTestUnitReporterTest::ExampleTest#woot \[[^\]]+\]:\nskipchurches, misstemples\n\nbin/rails test test/test_unit/reporter_test\.rb:\d+\n\n\z}
assert_match expect, @output.string
end