aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/test_case.rb
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2015-03-21 13:15:56 +0100
committerKasper Timm Hansen <kaspth@gmail.com>2015-06-04 20:57:08 +0200
commitb6fc8e25a10cc4abdd03018798b180270d6c5d7f (patch)
tree9bf63625f408ef27a477725a88013e9ca59718ef /activesupport/lib/active_support/test_case.rb
parentae5f2b4e79f3e41aad8280109d8bfc788a1a2733 (diff)
downloadrails-b6fc8e25a10cc4abdd03018798b180270d6c5d7f.tar.gz
rails-b6fc8e25a10cc4abdd03018798b180270d6c5d7f.tar.bz2
rails-b6fc8e25a10cc4abdd03018798b180270d6c5d7f.zip
Improve test runner's Minitest integration.
This also adds free mix and matching of directories, files and lines filters. Like so: bin/rails test models/post_test.rb test/integration models/person_test.rb:26 You can also mix in a traditional Minitest filter: bin/rails test test/integration -n /check_it_out/
Diffstat (limited to 'activesupport/lib/active_support/test_case.rb')
-rw-r--r--activesupport/lib/active_support/test_case.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/test_case.rb b/activesupport/lib/active_support/test_case.rb
index d9a668c0ea..ae6f00b861 100644
--- a/activesupport/lib/active_support/test_case.rb
+++ b/activesupport/lib/active_support/test_case.rb
@@ -9,6 +9,7 @@ require 'active_support/testing/isolation'
require 'active_support/testing/constant_lookup'
require 'active_support/testing/time_helpers'
require 'active_support/testing/file_fixtures'
+require 'active_support/testing/composite_filter'
require 'active_support/core_ext/kernel/reporting'
module ActiveSupport
@@ -38,6 +39,15 @@ module ActiveSupport
def test_order
ActiveSupport.test_order ||= :random
end
+
+ def run(reporter, options = {})
+ if options[:patterns] && options[:patterns].any? { |p| p =~ /:\d+/ }
+ options[:filter] = \
+ Testing::CompositeFilter.new(self, options[:filter], options[:patterns])
+ end
+
+ super
+ end
end
alias_method :method_name, :name