Sha256: 5d765af80b6b9a494873fdfaee9a67cba4f1b137a56ea4d2eceefaf7b1fd3eaa
Contents?: true
Size: 1.53 KB
Versions: 22
Compression:
Stored size: 1.53 KB
Contents
require 'autotest/restart' require 'autotest/bundler' Autotest.add_hook :initialize do |at| at.testlib = 'test/unit test/autocolor' # Remove the old test unit mappings at.clear_mappings # Don't track other dirs, this just burns cpu. (File.read('.gitignore').split("\n") + Dir['test/fixtures/**/*']).each do |ignore| next if ignore.nil? or ignore.empty? at.add_exception ignore end # Test::Unit is normally test_, so autotest doesn't have this mapping. Tests # want to match themselves, that is, if there's no changes, run them all. at.add_mapping(%r%^test/.*_test\.rb$%) { |f, _| f } # Allow for matches of lib files to test files in a flat way at.add_mapping(%r%^lib/(.*)\.rb$%) do |f, md| at.files_matching( %r%^test/#{md[1]}_test\.rb$%) end # Make sure that we run all tests if the helper changes: at.add_mapping(%r%^test/helper\.rb$%) do |f, _| at.files_matching %r%.*_test\.rb% end # If bundle did something, run all tests again at.add_mapping(%r%^Gemfile\.lock$%) do |f, _| at.files_matching %r%.*_test\.rb% end # If update support, run all tests at.add_mapping(%r%^test/support/.*\.rb$%) do |f, _| at.files_matching %r%.*_test\.rb% end def at.path_to_classname(path) file = File.basename(path, '.rb') file.gsub!('test_', '') file.gsub!('_test', '') file.capitalize + 'Test' end end # If the Gemfile gets updated, run bundle install Autotest.add_hook :updated do |at, *args| if args.flatten.grep(%r%^Gemfile$|^.*\.gemspec$%).any? system 'bundle' end end
Version data entries
22 entries across 22 versions & 1 rubygems