Apenas uma atualização do script deste post.
# ~.autotest
FAIL = -1
PENDING = 0
SUCCESS = 1
FAIL_IMAGE = "/Users/carlosbrando/.autotest_images/fail.png"
SUCCESS_IMAGE = "/Users/carlosbrando/.autotest_images/pass.png"
Autotest.add_hook :ran_command do |at|
result = at.results.last
if result
examples = result =~ /(\d+) example/ ? $1.to_i : 0
failures = result =~ /(\d+) failure/ ? $1.to_i : 0
pendings = result =~ /(\d+) pending/ ? $1.to_i : 0
unless last_result_was(examples, failures, pendings)
msg = " example, failure, pending"
if failures > 0
growl "FAIL", msg, FAIL_IMAGE, 2
else
growl "Pass", msg, SUCCESS_IMAGE
end
end
code = (failures > 0) ? 31 : (pendings > 0) ? 33 : 32
puts "\e[m\e[0m\n\n"
end
end
system "growlnotify -n autotest --image -p -m "
end
@last_result ||= [0, 0, 0]
if @last_result == [examples, failures, pendings]
true
else
@last_result = [examples, failures, pendings]
false
end
end
end
end
Este script está preparado apenas para o RSpec, se alguém alterá-lo, não se esqueça de me avisar!
Eu tive de mudar o script, porque ele ficava o tempo todo exibindo mensagens no Growl. Agora uma mensagem só é exibida quando algo mudou desde a última mensagem.
O Alexandre fez algumas alterações no script anterior para funcionar no Ubuntu com Libnotify.