pretty_face 0.5 → 0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +6 -0
  3. data/Guardfile +2 -0
  4. data/features/feature_pages.feature +1 -2
  5. data/features/support/_feature_header.erb +1 -1
  6. data/features/support/_suite_header.erb +1 -1
  7. data/lib/pretty_face/formatter/html.rb +3 -3
  8. data/lib/pretty_face/formatter/report.rb +8 -2
  9. data/lib/pretty_face/formatter/view_helper.rb +1 -1
  10. data/lib/pretty_face/templates/face.png +0 -0
  11. data/lib/pretty_face/templates/failed.png +0 -0
  12. data/lib/pretty_face/templates/feature.erb +99 -81
  13. data/lib/pretty_face/templates/main.erb +45 -38
  14. data/lib/pretty_face/templates/passed.png +0 -0
  15. data/lib/pretty_face/templates/pending.png +0 -0
  16. data/lib/pretty_face/templates/skipped.png +0 -0
  17. data/lib/pretty_face/templates/style.css +104 -33
  18. data/lib/pretty_face/templates/table_failed.png +0 -0
  19. data/lib/pretty_face/templates/table_passed.png +0 -0
  20. data/lib/pretty_face/templates/table_pending.png +0 -0
  21. data/lib/pretty_face/templates/table_skipped.png +0 -0
  22. data/lib/pretty_face/templates/table_undefined.png +0 -0
  23. data/lib/pretty_face/templates/undefined.png +0 -0
  24. data/lib/pretty_face/version.rb +1 -1
  25. data/spec/lib/html_formatter_spec.rb +10 -10
  26. metadata +8 -12
  27. data/features/support/logo.png +0 -0
  28. data/features/support/pretty_face/blah.txt +0 -0
  29. data/lib/pretty_face/templates/face.jpg +0 -0
  30. data/lib/pretty_face/templates/failed.jpg +0 -0
  31. data/lib/pretty_face/templates/passed.jpg +0 -0
  32. data/lib/pretty_face/templates/pending.jpg +0 -0
  33. data/lib/pretty_face/templates/skipped.jpg +0 -0
  34. data/lib/pretty_face/templates/undefined.jpg +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9eeaa80ce445692b64cc177ab61914981f99195e
4
- data.tar.gz: 07b5e419aaf7a8915c8001feda76d00f3f2dd279
3
+ metadata.gz: 65c0ae4589d4431415cba0493781ec0b444687c2
4
+ data.tar.gz: 6e4f60014069b44a7830ffdd5acbba3f74589c66
5
5
  SHA512:
6
- metadata.gz: 2e6d702f801dd887938086b978c8f96853fd2e66744a55aac81a67cd6bff58242ae75b5820fb1860df320f36c4bc57b64396575940b9f46c000dd41abe5bbf97
7
- data.tar.gz: 526f55dc3f05b52d0025c7906c8a0fc4f2acd58e15a63922e5e154a6c22efded7b2d97c05406104ce0ecfae9f5641bd085c171131cf6ba750caad29e4a300894
6
+ metadata.gz: c6a406bd17b5019deb91f2ce8c99ac65babfef5b38e856eb05455c7fe73d54e42f1224ba3ef75a00f9335cdeb67fd972221cda2d3691ee6957db0a293076e324
7
+ data.tar.gz: 280a0362de86cdcdcbc1a7509cced63c74a45aefb96f6fe79e56fd6d75b249882f0cca5f6d707ba7929452e3ef189bc00db671ccfd63f92f22b14c0f3f46f716
data/ChangeLog CHANGED
@@ -1,3 +1,9 @@
1
+ === Release 0.6 / 2013-7-24
2
+ * Changed icons
3
+ * Changed styling of summary table
4
+ * Added new logo
5
+ * Updated style for results header
6
+
1
7
  === Release 0.5 / 2013-7-19
2
8
  * Updated ReadMe
3
9
  * Displaying step definition on step failure
data/Guardfile CHANGED
@@ -13,5 +13,7 @@ guard 'cucumber', :notification => true, :all_after_pass => false, :cli => '--pr
13
13
  watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
14
14
  watch(%r{^lib/.+\.rb$}) { "features" }
15
15
  watch(%r{^lib/.+\.erb$}) { "features" }
16
+ watch(%r{^lib/.+\.css$}) { "features" }
17
+
16
18
  end
17
19
 
@@ -24,7 +24,7 @@ Feature: pages that show details for features
24
24
 
25
25
  Scenario: Generating some basic stats from the erb
26
26
  Then the file "results/basic.html" should contain "<th>Executed<"
27
- And the file "results/basic.html" should contain "<th>Average<br/>Duration"
27
+ And the file "results/basic.html" should contain "<th>Average Duration"
28
28
  And the file "results/basic.html" should contain "Scenarios"
29
29
  And the file "results/basic.html" should contain "Steps"
30
30
 
@@ -72,7 +72,6 @@ Feature: pages that show details for features
72
72
  And the file "results/advanced.html" should contain "RSpec::Expectations::ExpectationNotMetError"
73
73
  And the file "results/failing_background.html" should contain "RSpec::Expectations::ExpectationNotMetError"
74
74
 
75
- @focus
76
75
  Scenario: It should display error message with a yellow background and red text
77
76
  Then the file "results/basic.html" should contain "RSpec::Expectations::ExpectationNotMetError"
78
77
  And the background of the error message row should be "255, 251, 211"
@@ -1,2 +1,2 @@
1
1
  <h1>The Code Monkeys</h1>
2
- <h2>Test Results</h2>
2
+ <h2>Feature Results:</h2>
@@ -1,2 +1,2 @@
1
1
  <h1>The Code Monkeys</h1>
2
- <h2>Test Results</h2>
2
+ <h2>Feature Results:</h2>
@@ -26,7 +26,7 @@ module PrettyFace
26
26
  @options = options
27
27
  @report = Report.new
28
28
  @img_id = 0
29
- @logo = 'face.jpg'
29
+ @logo = 'face.png'
30
30
  end
31
31
 
32
32
  def embed(src, mime_type, label)
@@ -185,10 +185,10 @@ module PrettyFace
185
185
  end
186
186
 
187
187
  def copy_images
188
- copy_directory 'images', %w(failed passed pending undefined skipped), "png"
188
+ copy_directory 'images', %w(failed passed pending undefined skipped table_failed table_passed table_pending table_undefined table_skipped), "png"
189
189
  logo = logo_file
190
190
  copy_file logo, "#{File.join(File.dirname(@path), 'images')}" if logo
191
- copy_directory 'images', ['face'], 'jpg' unless logo
191
+ copy_directory 'images', ['face'], 'png' unless logo
192
192
  end
193
193
 
194
194
  def copy_stylesheets
@@ -4,7 +4,7 @@ module PrettyFace
4
4
  module Formatting
5
5
  def summary_percent(number, total)
6
6
  percent = (number.to_f / total) * 100
7
- "#{number} (#{'%.1f' % percent}%)"
7
+ "#{number} <span class=\"percentage\">(#{'%.1f' % percent}%)</span>"
8
8
  end
9
9
 
10
10
  def formatted_duration(duration)
@@ -14,7 +14,13 @@ module PrettyFace
14
14
 
15
15
  def image_tag_for(status, source=nil)
16
16
  dir = "#{directory_prefix_for(source)}images"
17
- "<img src=\"#{dir}/#{status}.png\" alt=\"#{status}\" title=\"#{status}\" width=\"30\">"
17
+ "<img src=\"#{dir}/#{status}.png\" alt=\"#{status}\" title=\"#{status}\">"
18
+ end
19
+
20
+ def table_image_for(status, source=nil)
21
+ dir = "#{directory_prefix_for(source)}images"
22
+ "<img src=\"#{dir}/table_#{status}.png\" alt=\"#{status}\" title=\"#{status}\">"
23
+
18
24
  end
19
25
 
20
26
  def directory_prefix_for(source=nil)
@@ -54,7 +54,7 @@ module PrettyFace
54
54
 
55
55
  def summary_percent(number, total)
56
56
  percent = (number.to_f / total) * 100
57
- "#{number} (#{'%.1f' % percent}%)"
57
+ "#{number} <span class=\"percentage\">(#{'%.1f' % percent}%)</span>"
58
58
  end
59
59
  end
60
60
  end
Binary file
Binary file
@@ -7,105 +7,123 @@
7
7
  </head>
8
8
 
9
9
  <body>
10
-
11
- <div style="float: left;">
12
- <img src="<%= feature.directory_prefix_for(feature.file) %>images/<%= logo %>" width="200" />
13
- </div>
14
- <div style="float: left;">
15
- <a href="<%= feature.parent_filename %>">Back</a>
16
- <% if customize %>
17
- <%= render "feature_header" %>
18
- <% else %>
19
- <%= render "page_header", :feature => feature %>
20
- <% end %>
21
- <span>Feature started: <%= feature.start_time.strftime("%a %B %-d, %Y at %H:%M:%S") %></span>
22
- <br />
23
- <span>Duration: <%= feature.formatted_duration(feature.duration) %></span>
24
- <% if feature.description? %>
25
- <pre class="description"><%= feature.description %></pre>
26
- <% end %>
10
+
11
+ <div style="clear: both; width=100%; background-color:#F6F6F6;">
12
+ <a href="<%= feature.parent_filename %>" style="color=#0071BC;">&lt; Back</a>
27
13
  </div>
28
14
 
29
- <div class="summary_body">
30
- <h2 class="summary">Summary</h2>
15
+ <div style="float:left; clear:both;">
16
+ <div class="header_logo">
17
+ <img src="<%= feature.directory_prefix_for(feature.file) %>images/<%= logo %>" width="200" />
18
+ </div>
19
+ <div class="header_description" >
20
+ <% if customize %>
21
+ <%= render "feature_header" %>
22
+ <% else %>
23
+ <%= render "page_header", :feature => feature %>
24
+ <% end %>
31
25
 
32
- <table cellspacing="0" cellpadding="7" class="summary">
33
- <tr>
34
- <th></th>
26
+ <table class="run_stats">
27
+ <tr>
28
+ <td>started:</td>
29
+ <td>duration:</td>
30
+ </tr>
31
+ <tr>
32
+ <td><%= feature.start_time.strftime("%A %B %-d, %Y at %H:%M:%S") %></td>
33
+ <td><%= feature.formatted_duration(feature.duration) %></td>
34
+ </tr>
35
+ </table>
36
+ <% if feature.description? %>
37
+ <pre class="description run_stats">Story<br/><%= feature.description %></pre>
38
+ <% end %>
39
+ </div>
40
+ </div>
41
+
42
+ <div class="summary_body">
43
+ <table class="StatTable">
44
+ <tr>
45
+ <th>Summary</th>
35
46
  <th>Executed</th>
36
- <th >Passed</th>
37
- <th>Failed</th>
38
- <th>Skipped</th>
39
- <th>Undefined</th>
40
- <th>Pending</th>
41
- <th>Average<br/>Duration</th>
47
+ <th class="passed"><%= raw(feature.table_image_for('passed', feature.file)) %> Passed</th>
48
+ <th class="failed"><%= raw(feature.table_image_for('failed', feature.file)) %> Failed</th>
49
+ <th class="skipped"><%= raw(feature.table_image_for('skipped', feature.file)) %> Skipped</th>
50
+ <th class="undefined"><%= raw(feature.table_image_for('undefined', feature.file)) %> Undefined</th>
51
+ <th class="pending" ><%= raw(feature.table_image_for('pending', feature.file)) %> Pending</th>
52
+ <th>Average Duration</th>
42
53
  </tr>
43
- <tr>
44
- <td class="summary_row_header">Scenarios</td>
54
+
55
+ <tr class="summary_row_header">
56
+ <td>Scenarios</td>
45
57
  <td><%= feature.scenarios.length %></td>
46
- <td class="summary"><%= feature.scenario_summary_for :passed %></td>
47
- <td><%= feature.scenario_summary_for :failed %></td>
48
- <td><%= feature.scenario_summary_for :skipped %></td>
49
- <td><%= feature.scenario_summary_for :undefined %></td>
50
- <td><%= feature.scenario_summary_for :pending %></td>
58
+ <td><%= raw(feature.scenario_summary_for :passed) %></td>
59
+ <td><%= raw(feature.scenario_summary_for :failed) %></td>
60
+ <td><%= raw(feature.scenario_summary_for :skipped) %></td>
61
+ <td><%= raw(feature.scenario_summary_for :undefined) %></td>
62
+ <td><%= raw(feature.scenario_summary_for :pending) %></td>
51
63
  <td><%= feature.scenario_average_duration %></td>
52
64
  </tr>
53
- <tr>
54
- <td class="summary_row_header">Steps</td>
65
+ <tr class="summary_row_header">
66
+ <td>Steps</td>
55
67
  <td><%= feature.steps.length %></td>
56
- <td><%= feature.step_summary_for :passed %></td>
57
- <td><%= feature.step_summary_for :failed %></td>
58
- <td><%= feature.step_summary_for :skipped %></td>
59
- <td><%= feature.step_summary_for :undefined %></td>
60
- <td><%= feature.step_summary_for :pending %></td>
68
+ <td><%= raw(feature.step_summary_for :passed) %></td>
69
+ <td><%= raw(feature.step_summary_for :failed) %></td>
70
+ <td><%= raw(feature.step_summary_for :skipped) %></td>
71
+ <td><%= raw(feature.step_summary_for :undefined) %></td>
72
+ <td><%= raw(feature.step_summary_for :pending) %></td>
61
73
  <td><%= feature.step_average_duration %></td>
62
74
  </tr>
63
- </table>
64
- </div>
65
75
 
66
- <div style="width: 60%; float: left;">
67
- <% if feature.has_background? %>
68
- <br />
69
- <h2 class="failures">Background: <%= feature.background_title.name %></h2>
70
- <% end %>
71
- <table cellspacing="0" cellpadding="7" border="0" width="100%">
72
- <% feature.background_steps.each do |step| %>
73
- <tr>
74
- <td><%= raw(feature.image_tag_for(step.status, feature.file)) %></td>
75
- <td>
76
- <%= render "step", step: step %>
77
- </td>
78
- </tr>
79
- <% end %>
76
+
80
77
  </table>
81
- <br />
82
- <h2 class="failures">Scenarios:</h2>
83
- <br />
84
- <% feature.scenarios.each do |scenario| %>
85
- <table cellspacing="0" cellpadding="7" class="scenario" width="100%">
86
- <tr >
87
- <th colspan="2" class="<%= scenario.status.to_s %>"><%= scenario.name %></th>
88
- </tr>
89
- <% scenario.steps.each do |step| %>
90
- <tr class="borderSeparator">
91
- <td class="image_tag"> <%= raw(feature.image_tag_for(step.status, feature.file)) %></td>
78
+ </div>
79
+
80
+ <div class="feature_background">
81
+ <div class="scenario_list">
82
+ <% if feature.has_background? %>
83
+ <br />
84
+ <h2 class="scenarios">Background: <%= feature.background_title.name %></h2>
85
+ <% end %>
86
+ <table cellspacing="0" cellpadding="7" border="0" width="100%">
87
+ <% feature.background_steps.each do |step| %>
88
+ <tr>
89
+ <td><%= raw(feature.image_tag_for(step.status, feature.file)) %></td>
92
90
  <td>
93
- <%= render "step", step: step %>
94
- </td>
95
- </tr>
96
- <% end %>
97
- </table>
98
- <% if scenario.has_image? %>
99
- <a href='' onclick="img=document.getElementById('<%= scenario.image_id %>'); img.style.display = (img.style.display == 'none' ? 'block' : 'none');return false"><%= "#{scenario.image_label}" %></a><br />
100
- <img id='<%= scenario.image_id %>' style='display: none' src='<%= feature.directory_prefix_for(feature.file) %>images/<%= scenario.image %>'/>
101
- <% end %>
102
- <br /><br />
91
+ <%= render "step", step: step %>
92
+ </td>
93
+ </tr>
94
+ <% end %>
95
+ </table>
96
+ <br />
97
+ <h2 class="scenarios">Scenarios:</h2>
98
+ <br />
99
+ <% feature.scenarios.each do |scenario| %>
100
+ <table cellspacing="0" cellpadding="7" class="scenario" width="100%">
101
+ <tr >
102
+ <th colspan="2" class="<%= scenario.status.to_s %>"><%= scenario.name %></th>
103
+ </tr>
104
+ <% scenario.steps.each do |step| %>
105
+ <tr class="borderSeparator">
106
+ <td class="image_tag"> <%= raw(feature.image_tag_for(step.status, feature.file)) %></td>
107
+ <td class="<%= "skipped_step" if step.status == :skipped %>">
108
+
109
+ <%= render "step", step: step %>
110
+ </td>
111
+ </tr>
112
+ <% end %>
113
+ </table>
114
+ <% if scenario.has_image? %>
115
+ <a href='' onclick="img=document.getElementById('<%= scenario.image_id %>'); img.style.display = (img.style.display == 'none' ? 'block' : 'none');return false"><%= "#{scenario.image_label}" %></a><br />
116
+ <img id='<%= scenario.image_id %>' style='display: none' src='<%= feature.directory_prefix_for(feature.file) %>images/<%= scenario.image %>'/>
117
+ <% end %>
118
+ <br /><br />
119
+ <% end %>
120
+ </div>
121
+ </div>
103
122
 
104
- <% end %>
105
123
  </div>
124
+
106
125
  <div class="footer">
107
126
  Generated by PrettyFace
108
127
  </div>
109
-
110
128
  </body>
111
129
  </html>
@@ -7,52 +7,59 @@
7
7
  </head>
8
8
 
9
9
  <body>
10
- <div style="float: left;">
11
- <img src='images/<%= logo %>' width="200" />
12
- </div>
13
- <div style="float: left;">
14
- <% if report.custom_suite_header? %>
15
- <%= render "suite_header" %>
16
- <% else %>
17
- <%= render "main_header" %>
18
- <% end %>
19
- <span>Tests started: <%= report.start_time %></span>
20
- <br />
21
- <span>Duration: <%= report.total_duration %></span>
22
- </div>
23
-
24
- <div class="summary_body">
25
- <h2 class="summary">Summary</h2>
10
+ <div style="float: left; clear:both;">
11
+ <div class="header_logo">
12
+ <img src='images/<%= logo %>' width="200" />
13
+ </div>
14
+ <div class="header_description">
15
+ <% if report.custom_suite_header? %>
16
+ <%= render "suite_header" %>
17
+ <% else %>
18
+ <%= render "main_header" %>
19
+ <% end %>
26
20
 
27
- <table cellspacing="0" cellpadding="7" class="summary">
21
+ <table class="run_stats">
22
+ <tr>
23
+ <td>started:</td>
24
+ <td>duration: </td>
25
+ </tr>
26
+ <tr>
27
+ <td><%= report.start_time %></td>
28
+ <td><%= report.total_duration %></td>
29
+ </tr>
30
+ </table>
31
+ </div>
32
+ </div>
33
+ <div class="summary_body">
34
+ <table class="StatTable">
28
35
  <tr>
29
- <th></th>
36
+ <th>Summary</th>
30
37
  <th>Executed</th>
31
- <th>Passed</th>
32
- <th>Failed</th>
33
- <th>Skipped</th>
34
- <th>Undefined</th>
35
- <th>Pending</th>
36
- <th>Average<br/>Duration</th>
38
+ <th class="passed"><img src="images/table_passed.png"> Passed</th>
39
+ <th class="failed"><img src="images/table_failed.png">Failed</th>
40
+ <th class="skipped"><img src="images/table_skipped.png">Skipped</th>
41
+ <th class="undefined"><img src="images/table_undefined.png">Undefined</th>
42
+ <th class="pending"><img src="images/table_pending.png">Pending</th>
43
+ <th>Average Duration</th>
37
44
  </tr>
38
- <tr>
39
- <td class="summary_row_header">Scenarios</td>
45
+ <tr class="summary_row_header">
46
+ <td>Scenarios</td>
40
47
  <td><%= report.scenario_count %></td>
41
- <td><%= report.scenarios_summary_for :passed %></td>
42
- <td><%= report.scenarios_summary_for :failed %></td>
43
- <td><%= report.scenarios_summary_for :skipped %></td>
44
- <td><%= report.scenarios_summary_for :undefined %></td>
45
- <td><%= report.scenarios_summary_for :pending %></td>
48
+ <td><%= raw(report.scenarios_summary_for :passed) %></td>
49
+ <td><%= raw(report.scenarios_summary_for :failed) %></td>
50
+ <td><%= raw(report.scenarios_summary_for :skipped) %></td>
51
+ <td><%= raw(report.scenarios_summary_for :undefined) %></td>
52
+ <td><%= raw(report.scenarios_summary_for :pending) %></td>
46
53
  <td><%= report.scenario_average_duration(report.features) %></td>
47
54
  </tr>
48
- <tr>
49
- <td class="summary_row_header">Steps</td>
55
+ <tr class="summary_row_header">
56
+ <td >Steps</td>
50
57
  <td><%= report.step_count %></td>
51
- <td><%= report.steps_summary_for :passed %></td>
52
- <td><%= report.steps_summary_for :failed %></td>
53
- <td><%= report.steps_summary_for :skipped %></td>
54
- <td><%= report.steps_summary_for :undefined %></td>
55
- <td><%= report.steps_summary_for :pending %></td>
58
+ <td><%= raw(report.steps_summary_for :passed) %></td>
59
+ <td><%= raw(report.steps_summary_for :failed) %></td>
60
+ <td><%= raw(report.steps_summary_for :skipped) %></td>
61
+ <td><%= raw(report.steps_summary_for :undefined) %></td>
62
+ <td><%= raw(report.steps_summary_for :pending) %></td>
56
63
  <td><%= report.step_average_duration(report.features) %></td>
57
64
  </tr>
58
65
  </table>
Binary file
Binary file
Binary file
@@ -9,58 +9,134 @@
9
9
  */
10
10
 
11
11
  body {
12
- font-family: GeosansLightRegular,Arial,Helvetica,sans-serif;
12
+ font-family: Verdana,Helvetica,sans-serif;
13
13
  font-size: 1em;
14
+ color: #1A1A1A;
15
+ max-width: 1500px;
14
16
  }
17
+
18
+
15
19
  a, a:visited {
16
- color: #4B7CAB;
20
+ color: #0071BC;
21
+ text-decoration:none;
17
22
  }
18
- div {
19
- padding: 5px;
23
+
24
+
25
+ a:hover {
26
+ text-decoration:underline;
20
27
  }
28
+
21
29
  h2 {
22
30
  margin: 0;
31
+
32
+ }
33
+
34
+ .header_logo {
35
+ float: left;
36
+ width: 200;
37
+ }
38
+
39
+ .header_description {
40
+ float: right;
41
+ padding: 25px;
23
42
  }
43
+
44
+ .run_stats{
45
+ font-size: 0.9em;
46
+ }
47
+
48
+ .run_stats td{
49
+ padding: 0 25px 0 0px;
50
+ }
51
+
52
+ .StatTable{
53
+ cellspacing:10px;
54
+ cellpadding: 10px;
55
+ width: 100%;
56
+ table-layout: fixed;
57
+ background-color: #fff;
58
+ border-collapse: separate;
59
+ border-spacing: 6px;
60
+ }
61
+
62
+ .StatTable th {
63
+ vertical-align: middle;
64
+ background-color: #f7f0f0;
65
+ padding: 6px;
66
+ text-align: center;
67
+ }
68
+
69
+ .StatTable tr {background-color: #f9f9f9;}
70
+ .StatTable th img {
71
+ vertical-align: middle;
72
+ padding-right: 10px;
73
+ }
74
+
75
+ .StatTable td {padding: 10px; margin:10px}
76
+
77
+ div.feature_background {
78
+ background-color:#f2f0f1;
79
+ border-top: 1px solid #d8d7d5;
80
+ clear:both;
81
+ }
82
+ div.scenario_list {
83
+ width: 60%;
84
+ margin:0 auto;
85
+ float: center;
86
+ background-color: white;
87
+ padding: 20px;
88
+ border-right: 1px solid #D8D7D5;
89
+ border-left: 1px solid #D8D7D5;
90
+ }
91
+
24
92
  .summary_body {
25
- width: 99%;
26
- margin-top: 15px;
27
- float: left;
28
- -moz-border-radius: 15px;
29
- border-radius: 15px;
30
- background-color: #E0E0E0;
93
+ clear: both;
31
94
  }
32
95
  .summary_row_header {
33
- text-align: left;
96
+ text-align: center;
34
97
  font-size: 1em;
35
- font-weight: bold;
36
98
  }
37
99
  .summary td {
38
100
  font-size: 1em;
39
101
  text-align: center;
40
- width: 150px;
41
102
  }
42
103
  .summary td:first-child {
43
104
  font-size: inherit;
44
105
  text-align: inherit;
45
106
  width: inherit;
46
107
  }
108
+ .percentage {
109
+ color: #808080;
110
+ font-size: .6em;
111
+ }
47
112
 
48
- .failed {
49
- background-color: #C20000;
113
+ th.failed {
114
+ background-color: #FF1D25;
50
115
  color: white;
51
- border-color: #333333;
52
116
  }
53
- .passed {
54
- background-color: #3d7700;
117
+
118
+ th.passed {
119
+ background-color: #90c447;
55
120
  color: white;
56
121
  }
57
- .pending {
58
- background-color: #faf834;
59
122
 
123
+ th.pending {
124
+ background-color: #fbb03b;
125
+ color: white;
60
126
  }
61
- .undefined {
62
- background-color: #e0ffff;
63
127
 
128
+ th.undefined {
129
+ background-color: #2e3192;
130
+ color: white;
131
+ }
132
+
133
+ th.skipped {
134
+ background-color: #ed1e79;
135
+ color: white;
136
+ }
137
+
138
+ .skipped_step{
139
+ background-color: #F9CFE1;
64
140
  }
65
141
  .footer {
66
142
  width: 100%;
@@ -70,7 +146,8 @@ h2 {
70
146
  margin-top: 25px;
71
147
  font-family: Verdana;
72
148
  font-size: 1em;
73
- color: white
149
+ color: white;
150
+ clear: both;
74
151
  }
75
152
  .failures {
76
153
  width: 100%;
@@ -112,15 +189,11 @@ table.scenario {
112
189
  }
113
190
 
114
191
  td.image_tag {
115
- text-align: center;
192
+ text-align: left;
116
193
  vertical-align: text-top;
194
+ width: 30px;
117
195
  }
118
196
  .description {
119
- border: 1px dotted #CCCCCC;
120
- border-radius: 8px 8px 8px 8px;
121
- box-shadow: 1px 1px 5px #DDDDDD;
122
- line-height: 2em;
123
- padding: 10px;
124
197
  width: 100%;
125
198
  font-family: inherit
126
199
  }
@@ -159,8 +232,8 @@ td.image_tag {
159
232
  }
160
233
 
161
234
  .error {
162
- color: #C20000;
163
- background-color: #FFFBD3;
235
+ color: black;
236
+ background-color: #f9e708;
164
237
  border-color: #eed3d7;
165
238
  }
166
239
 
@@ -175,8 +248,6 @@ td.image_tag {
175
248
  font-weight: normal;
176
249
  }
177
250
 
178
-
179
-
180
251
  .ruby {
181
252
  font-size: 12px;
182
253
  font-family: monospace;
@@ -1,3 +1,3 @@
1
1
  module PrettyFace
2
- VERSION = "0.5"
2
+ VERSION = "0.6"
3
3
  end
@@ -35,31 +35,31 @@ describe PrettyFace::Formatter::Html do
35
35
  it "should keep track of passing scenarios" do
36
36
  step_mother.should_receive(:scenarios).with(:passed).and_return([1,2])
37
37
  step_mother.should_receive(:scenarios).and_return([1,2])
38
- formatter.scenarios_summary_for(:passed).should == "2 (100.0%)"
38
+ formatter.scenarios_summary_for(:passed).should == "2 <span class=\"percentage\">(100.0%)</span>"
39
39
  end
40
40
 
41
41
  it "should keep track of failing scenarios" do
42
42
  step_mother.should_receive(:scenarios).with(:failed).and_return([1,2])
43
43
  step_mother.should_receive(:scenarios).and_return([1,2])
44
- formatter.scenarios_summary_for(:failed).should == "2 (100.0%)"
44
+ formatter.scenarios_summary_for(:failed).should == "2 <span class=\"percentage\">(100.0%)</span>"
45
45
  end
46
46
 
47
47
  it "should keep track of pending scenarios" do
48
48
  step_mother.should_receive(:scenarios).with(:pending).and_return([1,2])
49
49
  step_mother.should_receive(:scenarios).and_return([1,2])
50
- formatter.scenarios_summary_for(:pending).should == "2 (100.0%)"
50
+ formatter.scenarios_summary_for(:pending).should == "2 <span class=\"percentage\">(100.0%)</span>"
51
51
  end
52
52
 
53
53
  it "should keep track of undefined scenarios" do
54
54
  step_mother.should_receive(:scenarios).with(:undefined).and_return([1,2])
55
55
  step_mother.should_receive(:scenarios).and_return([1,2])
56
- formatter.scenarios_summary_for(:undefined).should == "2 (100.0%)"
56
+ formatter.scenarios_summary_for(:undefined).should == "2 <span class=\"percentage\">(100.0%)</span>"
57
57
  end
58
58
 
59
59
  it "should keep track of skipped scenarios" do
60
60
  step_mother.should_receive(:scenarios).with(:skipped).and_return([1,2])
61
61
  step_mother.should_receive(:scenarios).and_return([1,2])
62
- formatter.scenarios_summary_for(:skipped).should == "2 (100.0%)"
62
+ formatter.scenarios_summary_for(:skipped).should == "2 <span class=\"percentage\">(100.0%)</span>"
63
63
  end
64
64
  end
65
65
 
@@ -72,31 +72,31 @@ describe PrettyFace::Formatter::Html do
72
72
  it "should keep track of passing steps" do
73
73
  step_mother.should_receive(:steps).with(:passed).and_return([1,2])
74
74
  step_mother.should_receive(:steps).and_return([1,2])
75
- formatter.steps_summary_for(:passed).should == "2 (100.0%)"
75
+ formatter.steps_summary_for(:passed).should == "2 <span class=\"percentage\">(100.0%)</span>"
76
76
  end
77
77
 
78
78
  it "should keep track of failing steps" do
79
79
  step_mother.should_receive(:steps).with(:failed).and_return([1,2])
80
80
  step_mother.should_receive(:steps).and_return([1,2])
81
- formatter.steps_summary_for(:failed).should == "2 (100.0%)"
81
+ formatter.steps_summary_for(:failed).should == "2 <span class=\"percentage\">(100.0%)</span>"
82
82
  end
83
83
 
84
84
  it "should keep track of skipped steps" do
85
85
  step_mother.should_receive(:steps).with(:skipped).and_return([1,2])
86
86
  step_mother.should_receive(:steps).and_return([1,2])
87
- formatter.steps_summary_for(:skipped).should == "2 (100.0%)"
87
+ formatter.steps_summary_for(:skipped).should == "2 <span class=\"percentage\">(100.0%)</span>"
88
88
  end
89
89
 
90
90
  it "should keep track of pending steps" do
91
91
  step_mother.should_receive(:steps).with(:pending).and_return([1,2])
92
92
  step_mother.should_receive(:steps).and_return([1,2])
93
- formatter.steps_summary_for(:pending).should == "2 (100.0%)"
93
+ formatter.steps_summary_for(:pending).should == "2 <span class=\"percentage\">(100.0%)</span>"
94
94
  end
95
95
 
96
96
  it "should keep track of undefined steps" do
97
97
  step_mother.should_receive(:steps).with(:undefined).and_return([1,2])
98
98
  step_mother.should_receive(:steps).and_return([1,2])
99
- formatter.steps_summary_for(:undefined).should == "2 (100.0%)"
99
+ formatter.steps_summary_for(:undefined).should == "2 <span class=\"percentage\">(100.0%)</span>"
100
100
  end
101
101
  end
102
102
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pretty_face
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.5'
4
+ version: '0.6'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeffrey S. Morgan
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-07-19 00:00:00.000000000 Z
15
+ date: 2013-07-24 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: actionpack
@@ -130,8 +130,6 @@ files:
130
130
  - features/support/env.rb
131
131
  - features/support/error_display.rb
132
132
  - features/support/hooks.rb
133
- - features/support/logo.png
134
- - features/support/pretty_face/blah.txt
135
133
  - fixtures/advanced.feature
136
134
  - fixtures/background.feature
137
135
  - fixtures/basic.feature
@@ -147,19 +145,19 @@ files:
147
145
  - lib/pretty_face/templates/_main_header.erb
148
146
  - lib/pretty_face/templates/_page_header.erb
149
147
  - lib/pretty_face/templates/_step.erb
150
- - lib/pretty_face/templates/face.jpg
151
- - lib/pretty_face/templates/failed.jpg
148
+ - lib/pretty_face/templates/face.png
152
149
  - lib/pretty_face/templates/failed.png
153
150
  - lib/pretty_face/templates/feature.erb
154
151
  - lib/pretty_face/templates/main.erb
155
- - lib/pretty_face/templates/passed.jpg
156
152
  - lib/pretty_face/templates/passed.png
157
- - lib/pretty_face/templates/pending.jpg
158
153
  - lib/pretty_face/templates/pending.png
159
- - lib/pretty_face/templates/skipped.jpg
160
154
  - lib/pretty_face/templates/skipped.png
161
155
  - lib/pretty_face/templates/style.css
162
- - lib/pretty_face/templates/undefined.jpg
156
+ - lib/pretty_face/templates/table_failed.png
157
+ - lib/pretty_face/templates/table_passed.png
158
+ - lib/pretty_face/templates/table_pending.png
159
+ - lib/pretty_face/templates/table_skipped.png
160
+ - lib/pretty_face/templates/table_undefined.png
163
161
  - lib/pretty_face/templates/undefined.png
164
162
  - lib/pretty_face/version.rb
165
163
  - pretty_face.gemspec
@@ -212,8 +210,6 @@ test_files:
212
210
  - features/support/env.rb
213
211
  - features/support/error_display.rb
214
212
  - features/support/hooks.rb
215
- - features/support/logo.png
216
- - features/support/pretty_face/blah.txt
217
213
  - spec/lib/customization_spec.rb
218
214
  - spec/lib/html_formatter_spec.rb
219
215
  - spec/spec_helper.rb
Binary file
File without changes
Binary file
Binary file
Binary file
Binary file
Binary file