# -*- ruby -*- # require 'autotest/autoupdate' # require 'autotest/camping' # require 'autotest/cctray' # require 'autotest/emacs' # require 'autotest/fixtures' #require 'ruby-growl' #require 'autotest/growl' # require 'autotest/heckle' # require 'autotest/html_report' # require 'autotest/kdenotify' # require 'autotest/menu' # require 'autotest/migrate' # require 'autotest/notify' # require 'autotest/pretty' #require 'autotest/redgreen' #require 'autotest/screen' # require 'autotest/shame' # require 'autotest/snarl' # require 'autotest/timestamp' # Autotest::AutoUpdate.sleep_time = 60 # Autotest::AutoUpdate.update_cmd = 'svn up' # Autotest::Emacs.client_cmd = 'emacsclient -e' # Autotest::Heckle.flags << '-t test/**/*.rb' # Autotest::Heckle.klasses << 'MyClass' # Autotest::Shame.chat_app = :adium #Autotest::HOOKS.delete(:interrupt) #Autotest::Screen.statusline = %q[|%c %m/%d|%w %=] #class Autotest::Screen # SCREEN_COLOR[:green] = 'gw' # SCREEN_COLOR[:yellow] = 'yk' # # Autotest.add_hook :run_command do |at| # message 'Running' if execute? # end # # Autotest.add_hook :quit do |at| # clear if execute? # end # # Autotest.add_hook :ran_command do |at| # return unless execute? # results = [at.results].flatten.join("¥n") # output = results.slice(/(¥d+)¥sexamples?,¥s*(¥d+)¥s.*failures?(?:,¥s*(¥d+)¥s.*pendings?)?/) # if output # ex,fail,pend = $~.captures.map {|e| e.to_i} # if 0 < fail # message "FAIL #{ex}ex, F:#{fail} ", :red # elsif 0 < pend # message "Pend #{ex}ex, F:#{fail} P:#{pend}", :yellow # else # message "All Green #{ex}ex", :green # end # end # end #end module Autotest::Growl def self.growl(title, msg, img) system "growlnotify -n autotest #{title} -m '#{msg}' --image #{img} " end Autotest.add_hook :ran_command do |at| results = [at.results].flatten.flatten.join("\n") output = results.slice(/(\d+)\s+examples?,\s*(\d+)\s+failures?(,\s*(\d+)\s+not implemented)?/) if output if $~[2].to_i > 0 growl "Tests Failed", "#{output}", "~/.rails_fail.png" else growl "ALL GREEN", "#{output}", "~/.rails_ok.png" end end end end