Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

36 lines (31 sloc) 0.924 kb
class Autotest
##
# Convert a path in a string, s, into a class name, changing
# underscores to CamelCase, etc.
def path_to_classname(s)
sep = File::SEPARATOR
f = s.sub(/^test#{sep}/, '').sub(/\.rb$/, '').split(sep)
f = f.map { |path| path.split(/_|(\d+)/).map { |seg| seg.capitalize }.join }
f = f.map { |path| path =~ /Test$/ ? path : "#{path}Test" }
f.join('::')
end
end
Autotest.add_hook :initialize do |at|
unless ARGV.empty?
if ARGV[0] == '-d'
at.find_directories = ARGV[1..-1].dup
else
at.find_directories = []
at.extra_files = ARGV.dup
end
end
# doesn't seem to work
# at.clear_mappings
at.add_mapping(/^lib\/.*\.rb$/) do |filename, _|
possible = File.basename(filename, 'rb').gsub '_', '_?'
files_matching %r%^test/.*#{possible}_test\.rb$%
end
at.add_mapping(/^test.*\/.*test\.rb$/) do |filename, _|
filename
end
end
Jump to Line
Something went wrong with that request. Please try again.