Skip to content

Instantly share code, notes, and snippets.

@andreaseger
Created May 15, 2011 21:53
Show Gist options
  • Save andreaseger/973587 to your computer and use it in GitHub Desktop.
Save andreaseger/973587 to your computer and use it in GitHub Desktop.
.autotest
module Autotest::GnomeNotify
# Time notification will be displayed before disappearing automatically
EXPIRATION_IN_SECONDS = 2
ERROR_STOCK_ICON = "gtk-dialog-error"
SUCCESS_STOCK_ICON = "gtk-dialog-info"
# Convenience method to send an error notification message
#
# [stock_icon] Stock icon name of icon to display
# [title] Notification message title
# [message] Core message for the notification
def self.notify stock_icon, title, message
options = "-t #{EXPIRATION_IN_SECONDS * 1000} -i #{stock_icon}"
system "notify-send #{options} '#{title}' \"#{message}\""
end
Autotest.add_hook :red do |at|
example_text = ""
num_examples = 0
examples = at.files_to_test.each_pair do |key, values|
example_text += "- #{key}\n"
values.each do |value|
num_examples += 1
example_text += " * #{value}\n"
end
end
notify ERROR_STOCK_ICON, "Tests failed", "<b>#{num_examples} examples failed in #{at.files_to_test.size} files</b>\n#{example_text}"
end
Autotest.add_hook :green do |at|
notify SUCCESS_STOCK_ICON, "All tests passed, good job!", ""
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment