aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails')
-rw-r--r--railties/lib/rails/test_unit/runner.rb15
1 files changed, 10 insertions, 5 deletions
diff --git a/railties/lib/rails/test_unit/runner.rb b/railties/lib/rails/test_unit/runner.rb
index a970039b93..6f9c3690f5 100644
--- a/railties/lib/rails/test_unit/runner.rb
+++ b/railties/lib/rails/test_unit/runner.rb
@@ -53,12 +53,17 @@ module Rails
options[:patterns] = []
while arg = args.shift
- if Dir.exists?(arg)
- options[:patterns] << "#{arg}/**/*_test.rb"
- else
- options[:filename], options[:line] = arg.split(':')
+ if (file_and_line = arg.split(':')).size > 1
+ options[:filename], options[:line] = file_and_line
options[:filename] = File.expand_path options[:filename]
options[:line] &&= options[:line].to_i
+ else
+ arg = arg.gsub(':', '')
+ if Dir.exists?("test/#{arg}")
+ options[:patterns] << File.expand_path("test/#{arg}/**/*_test.rb")
+ elsif File.file?(arg)
+ options[:patterns] << File.expand_path(arg)
+ end
end
end
options
@@ -96,7 +101,7 @@ module Rails
def test_files
return [@options[:filename]] if @options[:filename]
- if @options[:patterns]
+ if @options[:patterns] && @options[:patterns].count > 0
pattern = @options[:patterns]
else
pattern = "test/**/*_test.rb"