# -*- ruby -*- require 'autotest/redgreen' require 'autotest/menu' # This replaces the stock Autotest::Growl module Autotest::Growl def self.growl title, msg, image=nil, pri=0 title += " in #{Dir.pwd}" msg += " at #{Time.now}" system "growlnotify -n autotest --image #{image || "/Applications/Mail.app/Contents/Resources/Caution.tiff"} -p #{pri} -m #{msg.inspect} #{title}" end Autotest.add_hook :initialize do |at| growl "autotest running", "Started",'~/.autotest_images/rails_grey.png' end Autotest.add_hook :reset do |at| growl "autotest reset", "Reset",'~/.autotest_images/rails_grey.png' end Autotest.add_hook :red do |at| growl "Tests Failed", "#{at.files_to_test.size} tests failed", '~/.autotest_images/rails_fail.png', 2 end Autotest.add_hook :green do |at| growl "Tests Passed", "#{at.results.scan(at.completed_re)}", '~/.autotest_images/rails_ok.png',-2 if at.tainted end Autotest.add_hook :all_good do |at| growl "All Tests Passed", "#{at.results.scan(at.completed_re)}", '~/.autotest_images/rails_ok.png',-2 if at.tainted end end