autotest-growl 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.txt +5 -0
- data/README.rdoc +10 -1
- data/lib/autotest/growl.rb +16 -9
- metadata +28 -13
data/CHANGELOG.txt
CHANGED
data/README.rdoc
CHANGED
@@ -112,13 +112,21 @@ All tests have passed", add the following to your ~/.autotest:
|
|
112
112
|
|
113
113
|
Autotest::Growl::hide_label = true
|
114
114
|
|
115
|
-
=== One
|
115
|
+
=== One Notification per Run
|
116
116
|
|
117
117
|
Allow only one test and one feature notification per run by adding the
|
118
118
|
following to your ~/.autotest:
|
119
119
|
|
120
120
|
Autotest::Growl::one_notification_per_run = true
|
121
121
|
|
122
|
+
=== Make Failure and Error Notifications Sticky
|
123
|
+
|
124
|
+
If you don't want to miss any failure or error notifications while you
|
125
|
+
get a cup of coffee, make them stay on your display until you explicitly
|
126
|
+
click them away. Simply add the following to your ~/.autotest:
|
127
|
+
|
128
|
+
Autotest::Growl::sticky_failure_notifications = true
|
129
|
+
|
122
130
|
=== Show Modified Files
|
123
131
|
|
124
132
|
Add the following to your ~/.autotest if you would like to receive a Growl
|
@@ -189,6 +197,7 @@ Thanks to the following folks who have contributed to this project:
|
|
189
197
|
* J. Edward Dewyea
|
190
198
|
* Martin Vielsmaier
|
191
199
|
* Charles Roper
|
200
|
+
* Ben Ritcey
|
192
201
|
|
193
202
|
== LICENSE:
|
194
203
|
|
data/lib/autotest/growl.rb
CHANGED
@@ -24,6 +24,7 @@ module Autotest::Growl
|
|
24
24
|
|
25
25
|
@@remote_notification = false
|
26
26
|
@@one_notification_per_run = false
|
27
|
+
@@sticky_failure_notifications = false
|
27
28
|
@@clear_terminal = true
|
28
29
|
@@hide_label = false
|
29
30
|
@@show_modified_files = false
|
@@ -41,6 +42,12 @@ module Autotest::Growl
|
|
41
42
|
@@one_notification_per_run = boolean
|
42
43
|
end
|
43
44
|
|
45
|
+
##
|
46
|
+
# Whether to make failure and error notifications sticky.
|
47
|
+
def self.sticky_failure_notifications=(boolean)
|
48
|
+
@@sticky_failure_notifications = boolean
|
49
|
+
end
|
50
|
+
|
44
51
|
##
|
45
52
|
# Whether to clear the terminal before running tests (default) or not.
|
46
53
|
def self.clear_terminal=(boolean)
|
@@ -71,19 +78,19 @@ module Autotest::Growl
|
|
71
78
|
|
72
79
|
##
|
73
80
|
# Display a message through Growl.
|
74
|
-
def self.growl(title, message, icon, priority=0,
|
81
|
+
def self.growl(title, message, icon, priority=0, sticky=false)
|
75
82
|
growl = File.join(GEM_PATH, 'growl', 'growlnotify')
|
76
83
|
image = File.join(@@image_dir, "#{icon}.png")
|
77
84
|
case Config::CONFIG['host_os']
|
78
85
|
when /mac os|darwin/i
|
79
|
-
options = "-w -n Autotest --image '#{image}' -p #{priority} -m '#{message}' '#{title}' #{
|
86
|
+
options = "-w -n Autotest --image '#{image}' -p #{priority} -m '#{message}' '#{title}' #{'-s' if sticky}"
|
80
87
|
options << " -H localhost" if @@remote_notification
|
81
88
|
system %(#{growl} #{options} &)
|
82
89
|
when /linux|bsd/i
|
83
90
|
system %(notify-send "#{title}" "#{message}" -i #{image} -t 5000)
|
84
91
|
when /windows|mswin|mingw/i
|
85
92
|
growl += '.com'
|
86
|
-
system %(#{growl} #{message.inspect} /a:"Autotest" /r:"Autotest" /n:"Autotest" /i:"#{image}" /p:#{priority} /t:"#{title}")
|
93
|
+
system %(#{growl} #{message.inspect} /a:"Autotest" /r:"Autotest" /n:"Autotest" /i:"#{image}" /p:#{priority} /t:"#{title}" /s:#{sticky})
|
87
94
|
else
|
88
95
|
raise "#{Config::CONFIG['host_os']} is not supported by autotest-growl (feel free to submit a patch)"
|
89
96
|
end
|
@@ -120,15 +127,15 @@ module Autotest::Growl
|
|
120
127
|
case result.framework
|
121
128
|
when 'test-unit'
|
122
129
|
if result.has?('test-error')
|
123
|
-
growl @label + 'Cannot run some unit tests.', "#{result.get('test-error')} in #{result.get('test')}", 'error', 2
|
130
|
+
growl @label + 'Cannot run some unit tests.', "#{result.get('test-error')} in #{result.get('test')}", 'error', 2, @@sticky_failure_notifications
|
124
131
|
elsif result.has?('test-failed')
|
125
|
-
growl @label + 'Some unit tests failed.', "#{result['test-failed']} of #{result.get('test-assertion')} in #{result.get('test')} failed", 'failed', 2
|
132
|
+
growl @label + 'Some unit tests failed.', "#{result['test-failed']} of #{result.get('test-assertion')} in #{result.get('test')} failed", 'failed', 2, @@sticky_failure_notifications
|
126
133
|
else
|
127
134
|
growl @label + 'All unit tests passed.', "#{result.get('test-assertion')} in #{result.get('test')}", 'passed', -2
|
128
135
|
end
|
129
136
|
when 'rspec'
|
130
137
|
if result.has?('example-failed')
|
131
|
-
growl @label + 'Some RSpec examples failed.', "#{result['example-failed']} of #{result.get('example')} failed", 'failed', 2
|
138
|
+
growl @label + 'Some RSpec examples failed.', "#{result['example-failed']} of #{result.get('example')} failed", 'failed', 2, @@sticky_failure_notifications
|
132
139
|
elsif result.has?('example-pending')
|
133
140
|
growl @label + 'Some RSpec examples are pending.', "#{result['example-pending']} of #{result.get('example')} pending", 'pending', -1
|
134
141
|
else
|
@@ -136,7 +143,7 @@ module Autotest::Growl
|
|
136
143
|
end
|
137
144
|
end
|
138
145
|
else
|
139
|
-
growl @label + 'Could not run tests.', '', 'error', 2
|
146
|
+
growl @label + 'Could not run tests.', '', 'error', 2, @@sticky_failure_notifications
|
140
147
|
end
|
141
148
|
@ran_tests = true
|
142
149
|
end
|
@@ -159,7 +166,7 @@ module Autotest::Growl
|
|
159
166
|
elsif result.has?('scenario-failed') || result.has?('step-failed')
|
160
167
|
explanation << "#{result['scenario-failed']} of #{result.get('scenario')} failed" if result['scenario-failed']
|
161
168
|
explanation << "#{result['step-failed']} of #{result.get('step')} failed" if result['step-failed']
|
162
|
-
growl @label + 'Some Cucumber scenarios failed.', "#{explanation.join("\n")}", 'failed', 2
|
169
|
+
growl @label + 'Some Cucumber scenarios failed.', "#{explanation.join("\n")}", 'failed', 2, @@sticky_failure_notifications
|
163
170
|
elsif result.has?('scenario-pending') || result.has?('step-pending')
|
164
171
|
explanation << "#{result['scenario-pending']} of #{result.get('scenario')} pending" if result['scenario-pending']
|
165
172
|
explanation << "#{result['step-pending']} of #{result.get('step')} pending" if result['step-pending']
|
@@ -169,7 +176,7 @@ module Autotest::Growl
|
|
169
176
|
end
|
170
177
|
end
|
171
178
|
else
|
172
|
-
growl @label + 'Could not run features.', '', 'error', 2
|
179
|
+
growl @label + 'Could not run features.', '', 'error', 2, @@sticky_failure_notifications
|
173
180
|
end
|
174
181
|
@ran_features = true
|
175
182
|
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autotest-growl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 2
|
8
|
+
- 4
|
9
|
+
version: 0.2.4
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Sven Schwyn
|
@@ -9,29 +14,37 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-04-28 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: rspec
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 3
|
30
|
+
- 0
|
23
31
|
version: 1.3.0
|
24
|
-
|
32
|
+
type: :development
|
33
|
+
version_requirements: *id001
|
25
34
|
- !ruby/object:Gem::Dependency
|
26
35
|
name: autotest
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
38
|
requirements:
|
31
39
|
- - ">="
|
32
40
|
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 4
|
43
|
+
- 2
|
44
|
+
- 4
|
33
45
|
version: 4.2.4
|
34
|
-
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
35
48
|
description: This gem aims to improve support for Growl notifications by autotest.
|
36
49
|
email: ruby@bitcetera.com
|
37
50
|
executables: []
|
@@ -91,18 +104,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
91
104
|
requirements:
|
92
105
|
- - ">="
|
93
106
|
- !ruby/object:Gem::Version
|
107
|
+
segments:
|
108
|
+
- 0
|
94
109
|
version: "0"
|
95
|
-
version:
|
96
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
111
|
requirements:
|
98
112
|
- - ">="
|
99
113
|
- !ruby/object:Gem::Version
|
114
|
+
segments:
|
115
|
+
- 0
|
100
116
|
version: "0"
|
101
|
-
version:
|
102
117
|
requirements: []
|
103
118
|
|
104
119
|
rubyforge_project:
|
105
|
-
rubygems_version: 1.3.
|
120
|
+
rubygems_version: 1.3.6
|
106
121
|
signing_key:
|
107
122
|
specification_version: 3
|
108
123
|
summary: Growl notification support for autotest.
|