Wrap text
Report abuse
|
|
# ~/.autotest
module Autotest::GnomeNotify
EXPIRATION_IN_SECONDS = 3
# FAIL_IMAGE = "gtk-dialog-error"
# PENDING_IMAGE = "gtk-dialog-warning"
# SUCCESS_IMAGE = "gtk-dialog-info"
FAIL_IMAGE = "~/Imagens/rails_fail.png"
PENDING_IMAGE = "~/Imagens/rails_pending.png"
SUCCESS_IMAGE = "~/Imagens/rails_success.png"
def self.notify title, message, stock_icon
options = "-t #{EXPIRATION_IN_SECONDS * 1000} -i #{stock_icon}"
system "notify-send #{options} '#{title}' '#{message}'"
end
Autotest.add_hook :ran_command do |at|
result = at.results.last
if result
tests = result =~ /(\d+) tests/ ? $1.to_i : 0
assertions = result =~ /(\d+) assertions/ ? $1.to_i : 0
failures = result =~ /(\d+) failures/ ? $1.to_i : 0
errors = result =~ /(\d+) errors/ ? $1.to_i : 0
examples = result =~ /(\d+) examples/ ? $1.to_i : 0
pendings = result =~ /(\d+) pending/ ? $1.to_i : 0
if failures > 0 or errors > 0
notify "Tests Failed", "#{tests} tests\n#{assertions} assertions\n#{failures} failures\n#{errors} errors", FAIL_IMAGE
elsif pendings > 0
notify "Tests Pending", "#{tests} tests\n#{assertions} assertions\n#{failures} failures\n#{errors} errors\n#{pendings} pendings\n", PENDING_IMAGE
else
notify "Tests Passed", "#{tests} tests\n#{assertions} assertions\n#{failures} failures\n#{errors} errors", SUCCESS_IMAGE
end
end
end
end
|