sapphire 0.7.15 → 0.7.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,20 +7,16 @@ include Sapphire::Sapphire
7
7
  $reporters = []
8
8
  $instances = []
9
9
 
10
- ARGV.each do |arg|
11
- if arg.start_with? "reporter="
12
- item = arg.split "reporter="
13
- $reporters << item.last
14
10
 
15
- next
16
- end
11
+ if ENV["reporter"]
12
+ $reporters << ENV["reporter"]
13
+ end
17
14
 
18
- if arg.start_with? "file="
19
- item = arg.split "file="
20
- @file = item.last
21
- next
22
- end
15
+ if ENV["file"]
16
+ @file = ENV["file"]
17
+ end
23
18
 
19
+ ARGV.each do |arg|
24
20
  if !arg.end_with? ".rb"
25
21
  next
26
22
  end
@@ -20,7 +20,7 @@ module Sapphire
20
20
  end
21
21
 
22
22
  def TestStarted(test)
23
-
23
+ @test_count = @test_count + 1
24
24
  end
25
25
 
26
26
  def Indent(test)
@@ -45,6 +45,7 @@ module Sapphire
45
45
 
46
46
  def TestFailed(test)
47
47
 
48
+ @failing_count = @failing_count + 1
48
49
  failure_style = 'failed'
49
50
  @output.puts " <script type=\"text/javascript\">makeRed('rspec-header');</script>" unless @header_red
50
51
  @header_red = true
@@ -83,21 +84,23 @@ module Sapphire
83
84
  end
84
85
 
85
86
  def TestPending(test)
87
+ @pending_count = @pending_count + 1
86
88
  @output.puts " <script type=\"text/javascript\">makeYellow('rspec-header');</script>" unless @header_red
87
89
  @output.puts " <script type=\"text/javascript\">makeYellow('example_group_#{@example_group_number}');</script>" unless @example_group_red
88
90
  @output.puts " <dd class=\"spec not_implemented\"><span class=\"not_implemented_spec_name\">#{Indent(test) + test.text} (PENDING: ### Not Yet Implemented ###)</span></dd>"
89
91
  end
90
92
 
91
93
  def TestBroken(test)
94
+ @broken_count = @broken_count + 1
92
95
  @output.puts " <script type=\"text/javascript\">makeOrange('rspec-header');</script>" unless @header_red
93
96
  @output.puts " <script type=\"text/javascript\">makeOrange('example_group_#{@example_group_number}');</script>" unless @example_group_red
94
- @output.puts " <dd class=\"spec not_implemented\"><span class=\"not_implemented_spec_name\">#{Indent(test) + test.text} (BROKEN: ### Broken ###)</span></dd>"
97
+ @output.puts " <dd class=\"spec broken\"><span class=\"broken_spec_name\">#{Indent(test) + test.text} (BROKEN: ### Broken ###)</span></dd>"
95
98
  end
96
99
 
97
100
  def TestingComplete
98
101
  @end = Time.now
99
102
 
100
- totals = "#{@test_count} example#{'s' unless @test_count == 1}, #{@failure_count} failure#{'s' unless @failure_count == 1}"
103
+ totals = "#{@test_count} example#{'s' unless @test_count == 1}, #{@failing_count} failure#{'s' unless @failing_count == 1}"
101
104
  totals << ", #{@pending_count} pending" if @pending_count > 0
102
105
  totals << ", #{@broken_count} broken" if @broken_count > 0
103
106
 
@@ -174,7 +177,14 @@ EOF
174
177
 
175
178
  <div id="rspec-header">
176
179
  <div id="label">
177
- <h1>RSpec Code Examples</h1>
180
+ <h1>Sapphire Test Results</h1>
181
+ </div>
182
+
183
+ <div id="display-filters">
184
+ <input id="passed_checkbox" name="passed_checkbox" type="checkbox" checked="" onchange="apply_filters()" value="1"> <label for="passed_checkbox">Passed</label>
185
+ <input id="failed_checkbox" name="failed_checkbox" type="checkbox" checked="" onchange="apply_filters()" value="2"> <label for="failed_checkbox">Failed</label>
186
+ <input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked="" onchange="apply_filters()" value="3"> <label for="pending_checkbox">Pending</label>
187
+ <input id="broken_checkbox" name="broken_checkbox" type="checkbox" checked="" onchange="apply_filters()" value="4"> <label for="broken_checkbox">Broken</label>
178
188
  </div>
179
189
 
180
190
  <div id="summary">
@@ -189,12 +199,25 @@ EOF
189
199
 
190
200
  def global_scripts
191
201
  <<-EOF
202
+ function addClass(element_id, classname) {
203
+ document.getElementById(element_id).className += (" " + classname);
204
+ }
205
+
206
+ function removeClass(element_id, classname) {
207
+ var elem = document.getElementById(element_id);
208
+ var classlist = elem.className.replace(classname,'');
209
+ elem.className = classlist;
210
+ }
211
+
192
212
  function moveProgressBar(percentDone) {
193
213
  document.getElementById("rspec-header").style.width = percentDone +"%";
194
214
  }
215
+
195
216
  function makeRed(element_id) {
196
- document.getElementById(element_id).style.background = '#C40D0D';
197
- document.getElementById(element_id).style.color = '#FFFFFF';
217
+ removeClass(element_id, 'passed');
218
+ removeClass(element_id, 'not_implemented');
219
+ removeClass(element_id, 'broken');
220
+ addClass(element_id,'failed');
198
221
  }
199
222
 
200
223
  function makeYellow(element_id) {
@@ -209,6 +232,62 @@ function makeYellow(element_id) {
209
232
  document.getElementById(element_id).style.color = '#000000';
210
233
  }
211
234
  }
235
+
236
+ function makeOrange(element_id) {
237
+ if (element_id == "rspec-header" && document.getElementById(element_id).style.background != '#C40D0D')
238
+ {
239
+ document.getElementById(element_id).style.background = '#FF8000';
240
+ document.getElementById(element_id).style.color = '#000000';
241
+ }
242
+ else
243
+ {
244
+ document.getElementById(element_id).style.background = '#FF8000';
245
+ document.getElementById(element_id).style.color = '#000000';
246
+ }
247
+ }
248
+
249
+ function apply_filters() {
250
+ var passed_filter = document.getElementById('passed_checkbox').checked;
251
+ var failed_filter = document.getElementById('failed_checkbox').checked;
252
+ var pending_filter = document.getElementById('pending_checkbox').checked;
253
+ var broken_filter = document.getElementById('broken_checkbox').checked;
254
+
255
+ assign_display_style("spec passed", passed_filter);
256
+ assign_display_style("spec failed", failed_filter);
257
+ assign_display_style("spec not_implemented", pending_filter);
258
+ assign_display_style("spec broken", broken_filter);
259
+
260
+ }
261
+
262
+ function get_display_style(display_flag) {
263
+ var style_mode = 'none';
264
+ if (display_flag == true) {
265
+ style_mode = 'block';
266
+ }
267
+ return style_mode;
268
+ }
269
+
270
+ function assign_display_style(classname, display_flag) {
271
+ var style_mode = get_display_style(display_flag);
272
+ var elems = document.getElementsByClassName(classname)
273
+ for (var i=0; i<elems.length;i++) {
274
+ elems[i].style.display = style_mode;
275
+ }
276
+ }
277
+
278
+ function assign_display_style_for_group(classname, display_flag, subgroup_flag) {
279
+ var display_style_mode = get_display_style(display_flag);
280
+ var subgroup_style_mode = get_display_style(subgroup_flag);
281
+ var elems = document.getElementsByClassName(classname)
282
+ for (var i=0; i<elems.length;i++) {
283
+ var style_mode = display_style_mode;
284
+ if ((display_flag != subgroup_flag) && (elems[i].getElementsByTagName('dt')[0].innerHTML.indexOf(", ") != -1)) {
285
+ elems[i].style.display = subgroup_style_mode;
286
+ } else {
287
+ elems[i].style.display = display_style_mode;
288
+ }
289
+ }
290
+ }
212
291
  EOF
213
292
  end
214
293
 
@@ -283,6 +362,12 @@ dd.spec.not_implemented {
283
362
  background: #FCFB98; color: #131313;
284
363
  }
285
364
 
365
+ dd.spec.broken {
366
+ border-left: 5px solid #FF8000;
367
+ border-bottom: 1px solid #FF8000;
368
+ background: #FCFB98; color: #131313;
369
+ }
370
+
286
371
  dd.spec.pending_fixed {
287
372
  border-left: 5px solid #0000C2;
288
373
  border-bottom: 1px solid #0000C2;
@@ -307,6 +392,12 @@ a {
307
392
  padding: 0.1em 0 0.2em 0;
308
393
  }
309
394
 
395
+ #display-filters {
396
+ float:left;
397
+ padding: 28px 0 0 40%;
398
+ font-family: "Lucida Grande", Helvetica, sans-serif;
399
+ }
400
+
310
401
  .ruby .keyword { color: #FF6600; }
311
402
  .ruby .constant { color: #339999; }
312
403
  .ruby .attribute { color: white; }
@@ -1,3 +1,3 @@
1
1
  module Sapphire
2
- VERSION = "0.7.15"
2
+ VERSION = "0.7.16"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sapphire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.15
4
+ version: 0.7.16
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-20 00:00:00.000000000Z
12
+ date: 2012-03-22 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: selenium-webdriver
16
- requirement: &9852108 !ruby/object:Gem::Requirement
16
+ requirement: &9892788 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *9852108
24
+ version_requirements: *9892788
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: colorize
27
- requirement: &9851856 !ruby/object:Gem::Requirement
27
+ requirement: &9892536 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *9851856
35
+ version_requirements: *9892536
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: Platform
38
- requirement: &9851604 !ruby/object:Gem::Requirement
38
+ requirement: &9892284 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *9851604
46
+ version_requirements: *9892284
47
47
  description: An automated web acceptance test framework for non-technical resources
48
48
  using selenium-wedriver.
49
49
  email: