Skip to content

Commit c2db04e

Browse files
committed
Move standard formats to format directory. :minor:
1 parent 78f0952 commit c2db04e

6 files changed

Lines changed: 22 additions & 15 deletions

File tree

lib/rubytest.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ def self.const_missing(name)
3030
require 'rubytest/recorder'
3131
require 'rubytest/advice'
3232
require 'rubytest/runner'
33-
require 'rubytest/reporters/abstract'
34-
require 'rubytest/reporters/abstract_hash'
33+
require 'rubytest/format/abstract'
34+
require 'rubytest/format/abstract_hash'
3535
else
3636
require_relative 'rubytest/core_ext'
3737
require_relative 'rubytest/code_snippet'
3838
require_relative 'rubytest/config'
3939
require_relative 'rubytest/recorder'
4040
require_relative 'rubytest/advice'
4141
require_relative 'rubytest/runner'
42-
require_relative 'rubytest/reporters/abstract'
43-
require_relative 'rubytest/reporters/abstract_hash'
42+
require_relative 'rubytest/format/abstract'
43+
require_relative 'rubytest/format/abstract_hash'
4444
end
4545

lib/rubytest/runner.rb

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -283,29 +283,36 @@ def select(cases)
283283
def reporter_load(format)
284284
format = DEFAULT_REPORT_FORMAT unless format
285285
format = format.to_s.downcase
286-
name = reporter_list.find{ |r| /^#{format}/ =~ r }
286+
name = reporter_list.find{ |r| /^#{format}/ =~ r } || format
287287

288-
raise "unsupported report format" unless format
289-
290-
if RUBY_VERSION < '1.9'
291-
require "rubytest/reporters/#{name}"
292-
else
293-
require_relative "reporters/#{name}"
288+
begin
289+
require "rubytest/format/#{name}"
290+
rescue LoadError
291+
raise "mistyped or uninstalled report format" unless format
294292
end
295293

296294
reporter = Test::Reporters.const_get(name.capitalize)
297295
reporter.new(self)
298296
end
299297

298+
# List of known report formats.
299+
#
300+
# TODO: Could use finder gem to look these up, but that's yet another dependency.
301+
#
302+
KNOWN_FORMATS = %w{
303+
dotprogress html progress outline summary tap tapy tapj test
304+
}
305+
300306
# Returns a list of available report types.
301307
#
302308
# @return [Array<String>]
303309
# The names of available reporters.
304310
def reporter_list
305-
list = Dir[File.dirname(__FILE__) + '/reporters/*.rb']
306-
list = list.map{ |r| File.basename(r).chomp('.rb') }
307-
list = list.reject{ |r| /^abstract/ =~ r }
308-
list.sort
311+
return KNOWN_FORMATS.sort
312+
#list = Dir[File.dirname(__FILE__) + '/reporters/*.rb']
313+
#list = list.map{ |r| File.basename(r).chomp('.rb') }
314+
#list = list.reject{ |r| /^abstract/ =~ r }
315+
#list.sort
309316
end
310317

311318
# Files can be globs and directories which need to be

0 commit comments

Comments
 (0)